전체 글 33

깊은 복사(deep copy)와 얕은 복사(shallow copy)

얕은 복사와 깊은 복사는 객체가 중첩되는 경우에 사용된다.얕은 복사객체의 주소만을 복사하는 것으로 원본 객체와 복사본 객체는 같은 주소를 참조한다.copy 모듈의 copy() 메소드import copyoriginal_list = [[1, 2, 3], [4, 5, 6]]copied_list = copy.copy(original_list)original_list[0][0] = 100 # 원본 객체의 값을 변경print("Original List:", original_list) # [[100, 2, 3], [4, 5, 6]]print("Copied List:", copied_list) # [[100, 2, 3], [4, 5, 6]]예시 코드에서 원본 리스트의 값을 변경했는데 복사본 리스트까지 같이..

immutable과 mutable 객체란?

immutable(불변) 객체생성된 후 값을 변경할 수 없는 객체한 번 생성된 값은 변경할 수 없어서, 값을 수정하려면 새로운 객체를 생성해야 한다.ex) int , float , str# 정수형(int) 예시x = 5print("Before:", x)x = x + 1 # 새로운 객체를 생성하여 값을 변경print("After:", x)# 문자열(str) 예시s = "Hello"print("Before:", s)s = s + " World" # 새로운 문자열을 생성하여 값을 변경print("After:", s)mutable(가변) 객체생성된 후에 값이 변경될 수 있는 객체mutable객체는 값을 수정할 수 있고, 동일한 객체에 대한 여러 참조가 모두 동일한 객체를 가리킨다.ex) list, dict,..

BFS와 DFS

이것이 코딩테스트다 교재를 기반으로 학습하고 정리한 내용입니다. DFSBFS동작 원리스택큐구현 방법재귀큐 자료구조DFS그래프의 깊은 부분을 우선저긍로 탐색하는 알고리즘으로 최대한 멀리 있는 노드를 우선으로 탐색 DFS의 동작 과정DFS는 스택 자료구조를 활용하고, 재귀를 통해 구현할 수 있다.탐색 시작 노드를 스택에 삽입하고 방문 처리스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면 그 인접 노드를 스택에 넣고 방문처리한다. 이때 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다.재귀함수를 통해서 2번과정이 불가할때 까지 반복BFS가까운 노드부터 탐색하는 알고리즘 BFS의 동작 과정큐 자료구조를 활용해서 구현할 수 있다.탐색 시작 노드를 큐에 삽입하고 방문 처리큐에서 노드를 꺼내 해당..

백준-2606-바이러스

구현 코드import sysfrom collections import dequedef bfs(graph, start, visited): #bfs구현을 위한 큐 선언 queue = deque([start]) #start부터 큐를 선언하면서 넣고 시작 #현재 노드 방문 처리 visited[start] = 1 #큐에 값이 없을 때까지 반복 while queue: temp = queue.popleft() for i in graph[temp]: if visited[i] == 0: # 해당 노드와 인접 노드가 방문한 적이 없을때 queue.append(i) # 큐에 삽입 visited[..

알고리즘/백준 2024.05.03

백준-1914-하노이 탑

하노이 탑 알고리즘하노이 탑 알고리즘은 다음을 참조했습니다 [python] 파이썬-재귀 함수 고전 예제: 하노이 탑(해설 강의 有)하노이탑(원판, "시작기둥"에서 "대상기둥"으로 "보조기둥"을 활용해서):if 원판이 1개:이동 from 시작기둥 to 대상기둥 if 원판이 2개 이상:#아래의 원판을 제외하고, 시작 기둥에서 보조 기둥으로hongong.hanbit.co.kr #하노이 탑에서 필요한 요소를 모두 매개변수로 받습니다.하노이탑(원판, "시작기둥"에서 "대상기둥"으로 "보조기둥"을 활용해서):    if 원판이 1개:        이동 from 시작기둥 to 대상기둥    if 원판이 2개 이상:        #아래의 원판을 제외하고, 시작 기둥에서 보조 기둥으로 이동합니다.        하노이탑(..

알고리즘/백준 2024.04.30