728x90 알고리즘339 [python] 백준 16940 BFS 스페셜 저지 https://www.acmicpc.net/problem/16940 16940번: BFS 스페셜 저지 올바른 순서는 1, 2, 3, 4와 1, 3, 2, 4가 있다. www.acmicpc.net 문제 해결 단순한 BFS 문제 + 순서가 여러가지 나올 수 있는 경우를 visited 리스트를 통해 체크해서 주어진 순서와 비교 chlldren 집합을 통해 그 순서에 나올 수 있는 경우를 모두 넣어 안에 들어있으면 pass 아니면 0을 출력하고 코드를 끝낸다. n까지 나열 한 것이므로 index=n까지 경우의 수 안에 들어 있으면 1을 출력한다. CODE import sys input = sys.stdin.readline from collections import deque n = int(input()) gra.. 2023. 1. 25. [python] 백준 1789 수들의 합 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 해결 주어진 S를 1, 2, 3 ... 작은 자연수부터 차례대로 계속 뺀다. S가 음수가 되기 전까지! S에서 더이상 빼면 음수가 될 때 바로 전에 뺀 수를 출력하면 된다. ex) 200의 수를 1부터 빼면 19까지 빼면 10이 남고 20을 빼면 음수가 되므로 19를 출력하면 된다. 이는 18까지 뺀 다음 29를 빼야 200이 되는데 서로다른 N개의 자연수의 합이 200이 될 때 N의 최댓값이 19라는 것이다. CODE import sys input = sys.stdin.readline s = int(inpu.. 2023. 1. 25. [Python] 백준 16947 서울 지하철 2호선 https://www.acmicpc.net/problem/16947 16947번: 서울 지하철 2호선 첫째 줄에 역의 개수 N(3 ≤ N ≤ 3,000)이 주어진다. 둘째 줄부터 N개의 줄에는 역과 역을 연결하는 구간의 정보가 주어진다. 같은 구간이 여러 번 주어지는 경우는 없고, 역은 1번부터 N번까지 번호 www.acmicpc.net 문제 해결 각 점(역)이 cycle 안에 들어가는지 확인해야한다. 이는 DFS를 통해 한바퀴 돌아 다시 출발한 점으로 올 수 있는지 확인한다. 2호선은 순환선이 한 개이지만 문제에서는 두개일 수도 있고 알 수 없다. 그래서 한번 사이클 만들었다고 끝이 아닐 수 있다. (모든 점에서 사이클을 돌려서 안에 있는지 확인해야한다는 점이다.) cycle안에 있는 점은 거리가 0으.. 2023. 1. 24. [python] 백준 16929 Two Dots https://www.acmicpc.net/problem/16929 16929번: Two Dots 첫째 줄에 게임판의 크기 N, M이 주어진다. 둘째 줄부터 N개의 줄에 게임판의 상태가 주어진다. 게임판은 모두 점으로 가득차 있고, 게임판의 상태는 점의 색을 의미한다. 점의 색은 알파벳 대문 www.acmicpc.net 문제 해결 DFS를 이용하기 좋다고 생각되는 문제 Cycle을 만들면 되므로 시작점에서 출발하여 방문하지 않은 길로 가서 다시 시작점으로 돌아올 수 있으면 cycle이 만들어지므로 바로 print("Yes") 출력하고 exit()를 통해 코드 종료 시작점을 (0,0) 부터 (n-1,m-1) 까지 m*n 개를 모두 돌리는 것이 마음에 안들지만 다른 방법이 생각이 안난다...ㅜㅜ 시작점을 기.. 2023. 1. 23. 이전 1 ··· 67 68 69 70 71 72 73 ··· 85 다음 728x90