코딩 테스트/do it! 알고리즘 코딩테스트100 046 특정 거리의 도시 찾기 첫번째 코드 BFS 문제와 그래프 그리는 것을 신경쓰면서 코드를 작성하자.사실 이전에 푼 BFS 문제와 비슷하게 느껴졌다! import sys input = sys.stdin.readline from collections import deque n, m, k, x = map(int, input().split()) A = [[] for _ in range(n+1)] answer = [] visited = [-1] * (n+1) for _ in range(m): s, e = map(int, input().split()) A[s].append(e) def BFS(x): queue = deque() queue.append(x) visited[x] += 1 while q.. 2024. 6. 18. 045 Ax+By=C 첫번째 코드 일단 백준에서는 아직 채점이 불가능한 문제이다! 확장 유클리드 호제법을 알고 있어야 풀 수 있는 문제라고 생각이 든다..어렵다 어려워;한번씩 더 생각해서 코드를 구성해야 해서, 다음에 다시 또 풀어보도록 하자!유클리드 호제법 확장.... 메모.... 추가적인 이해와 빠른 이해 방법이 있으면 나중에 설명을 추가하자! import sys input = sys.stdin.readline a, b, c = map(int, input().split()) def MOD(a, b): if b == 0: return a else: return MOD(b, a % b) def euclidean (a, b): ret = [0] * 2 if b == 0:.. 2024. 6. 18. 043 최대공약수 첫번째 코드 유클리드 호제법은 최대공약수를 구하는 방법으로 이를 이용하여 쉽게 풀었다.하지만 sort가 되어 있지 않아 이 부분만 신경써주면 된다.1로 출력해야 하므로 방법만 알고 있으면 금방이다. import sys input = sys.stdin.readline def MOD(x, y): a = max(x, y) b = min(x , y) if b == 0: return a else: return MOD(b, a % b) n, m = map(int, input().split()) answer = MOD(n, m) while answer > 0: print(1, end = '') answer -= 1 통과:)링크https://gi.. 2024. 6. 13. 044 칵테일 첫번째 코드 먼저 최소공배수와 관련된 문제라는 이해는 되었다.근데 재귀 관련된 부분도 들어가야할 것 같은데...으잉? 하다가 책을 참고했더니 DFS.....ㅎㅎㅎ;;완벽히 혼자서도 코드를 구성할 수 있다 정도는 아니지만 그래도 한걸음 더 다가섰다는 것에 만족하자 :(아직 DFS와 연관 지어 생각하는 것은 어려운 것 같댜... ㅎㅎ; import sys input = sys.stdin.readline n = int(input()) A = [[] for _ in range(n)] visited = [False] * n D = [0] * n lcm = 1 def MOD (a, b): if b == 0: return a else: return MOD(b, a % b).. 2024. 6. 13. 041 GCD(n, k) = 1 첫번째 코드 사실 오일러의 피 개념에 대해서는 어느정도 이해를 했는데결과가 결국 어떤 것을 의미하는 것인지에 대해서 의문이었다. 이 책의 코드를 통해서 이해가 되었다.특정 값의 소인수의 개수를 말해주는 것이었다. 이 코드에서 n과 result를 따로 움직인다.그리고 마지막에 1개의 누락된 소인수를 챙겨주는 과정을 거친다. 개념에 대한 이해가 되어 코드 구성은 이해가 되지만소소하게 챙길 부분이 좀 있다고 생각이 들었다.이번에 존재와 이해정도로 만족하고 다음에 다시 풀면서 온전한 이해와 코드 구성을 기대한다. import sys import math input = sys.stdin.readline n = int(input()) result = n for i in range(2, int(math.sqrt(n).. 2024. 6. 11. 042 최소공배수 첫번째 코드 유클리드 호제법을 처음 접한 경우이므로 어떻게 코드를 구성해야 편한지 책을 참고했다.생각보다 쉽게 구현이 가능했고 중간 코드는 책 없이도 작성이 가능했다. 근데 최소공배수를 최대공약수를 이용해서 어떻게 풀지?가 의문이었다."최소공배수 = 두 수의 곱 / 최대공약수"의 방법으로 구할 수 있다!!! 이건 기억하자:) import sys input = sys.stdin.readline def MOD(x, y): if y == 0: return x else: return MOD(y, x % y) n = int(input()) for i in range(n): x, y = map(int, input().split()) answer = x * y.. 2024. 6. 11. 이전 1 ··· 7 8 9 10 11 12 13 ··· 17 다음 728x90