목록코테 (4)
꾸준하게 거북이처럼

14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 백준 14502번 문제를 풀면서 필요한 개념을 정리하고자 한다. DFS ( Depth First Search : 깊이 우선 탐색 ) 의 개념 그래프 전체를 탐색하는 방법 중 하나로, 시작 노드 부터 다음 branch로 넘어가기 전에 해당 branch를 완벽하게 탐색하는 방법. DFS의 활용 주로 역량 테스트에서 사용되는 방식으로, 1. 그래프를 모두 탐색 2. 특정 조합 구하기/순열 위 그림을 보면 DFS 알고리즘을 이용해서 집합 {1, 2, 3}의 모든 조합을 구할 수 있다..
1914번: 하노이 탑 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 어제도 하노이 탑 문제(11729번)를 풀었는데, 오늘은 문제에서의 조건이 조금만 다른 하노이 탑 문제를 리뷰한다. 이 문제에서는 20이하의 입력일 때는 옮긴 횟수와 그 과정까지 출력이지만, 20을 넘어서면(20< n 즉 2^n - 1 이 점화식임을 알 수 있다. 심각하게 생각하지말고 센스를 길러보자^^ 참고: https://bgspro.tistory.com/6

sys.stdin.readline() 백준 1193번은 시간제한 0.5초가 있다. 보통 이럴 때는 Input보다는 sys을 이용해서 위와 같이 입력을 받아주는게 좋은 것 같다. 그리고 for문 중복이나 반복문 중복을 피하기가 어려울 때, 불필요한 연산을 하지 않도록 만들어주어야 한다. 어찌보면 당연하지만, 1193과 같은 문제를 보면 n 번째 분수를 찾아야하는데 그 전 번째 분수까지 계산하는 과정을 최소로 줄여야 시간제한을 벗어날 수 있다. 처음에는 차근차근 문제를 푼다고 n번째 분수를 찾느라 그 전 번째 분수 계산과정까지 반복문에 넣다보니 시간 초과가 났다. 규칙을 잘 파악해서 딱 n번째 분수를 찾을 수 있도록 구상을 해야했다. import sys n = int(sys.stdin.readline()) ..