전체 글
연결리스트-JS
참고 사이트Linked-list1. 연결 리스트 ( Linked List ) [Immersive_Sprint.js] LinkedList [자료구조] Linked List in JavaScript 연결 리스트란? 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조 단일 연결리스트 연결 리스트 종류 이 페이지에서는 단일 연결 리스트만 다루겠습니다 이중연결 리스트와 원형 리스트는 다음 페이지를 참고해주세요 1. 단일 연결 리스트 데이터 요소를 선형적으로 연결 기존 배열에 비해 링크 데이터 항목들을 메모리나 디스크에 연속적으로 할당할 필요가 없기 때문에 전체 구조를 재할당하거나 재구성하지 않고도 목록의 특정 지점에 요소를 추가 제거할때 유리 포인터로 다음 연결 리스트를..
백준 15650번 : N과M(2)
◎백트래킹 문제 ◎앞에 순열문제와 다른점 : 중복 x def dfs(cnt): if cnt == M: for i in range(len(arr)): print(arr[i], end=' ') print() return for i in range(N): if visit[i]: continue visit[i] = True arr.append(num_list[i]) dfs(cnt+1) arr.pop() #여기까진 순열과 동일 #순열과 다른점은 밑에 코드 #원래는 visit[i] = Flase로 짰었음 # 근데 밑에는 i보다 하나 큰 범위부터 False를 만들어줌 # i전의 visit은 True상태로 고정! #append되지 않음 for j in range(i+1, N): visit[i] = False N, M ..
백준 15649: N과M(1)
◎백트래킹 문제 ◎재귀를 이용하여 문제 풀음 def dfs(cnt): #cnt가 M이 되면 arr출력하는 함수 만들기 #조건 생성 : cnt가 M과 같아질 때 arr출력 if cnt == M: for i in range(len(arr)): print(arr[i], end=' ') return #visit 추적 for i in range(N): #visit이 True일 경우에는 건너뛰고 계속 진행한다 if visit[i]: continue #방문한 곳은 True로 변경 visit[i] = True #i번째 idx arr에 append해줌 arr.append(lst[i]) #재귀(stack형식으로 쌓인다는 점 기억) #큰 깨달음 : 함수 자체가 stack에 쌓임 dfs(cnt+1) arr.pop() prin..