728x90 알고리즘316 [python] 백준 1507 궁금한 민호 https://www.acmicpc.net/problem/1507 1507번: 궁금한 민호 강호는 N개의 도시로 이루어진 나라에 살고 있다. 각 도시는 M개의 도로로 연결되어 있으며, 각 도로를 지날 때 필요한 시간이 존재한다. 도로는 잘 연결되어 있기 때문에, 도시 A에서 B로 이동할 www.acmicpc.net 문제 해결 플로이드-위셜 방법을 써야한다는 것은 쉽게 알 수 있었다. 하지만 어떻게 끊는 것을 구현할 지 생각이 나지 않았는데 check를 통해서 끊게 된다면 check[i][j]=0을 통해 이를 저장할 수 있었다. CODE import sys input = sys.stdin.readline def main(): result = 0 for k in range(n): for i in range(.. 2024. 4. 6. [python] 백준 2436 공약수 https://www.acmicpc.net/problem/2436 2436번: 공약수 첫째 줄에 두 개의 자연수가 빈칸을 사이에 두고 주어진다. 첫 번째 수는 어떤 두 개의 자연수의 최대공약수이고, 두 번째 수는 그 자연수들의 최소공배수이다. 입력되는 두 자연수는 2 이상 100,0 www.acmicpc.net 문제 해결 최소 공배수를 최대 공약수로 나누었을 때의 수를 서로소인 두 인수로 쪼개서 확인하는 작업을 하면 끝 CODE import sys input = sys.stdin.readline import math def solve(res,a): target = sys.maxsize x, y = -1, -1 for i in range(1,int(math.sqrt(res)+1)): if res%i:con.. 2024. 4. 4. [python] 백준 11562 백양로 브레이크 https://www.acmicpc.net/problem/11562 11562번: 백양로 브레이크 서울 소재 Y모 대학교에서 대규모 공사를 진행하면서, 학교가 마치 미로처럼 변해버리고 말았다. 공사 이전까지는 어떤 건물에서 출발하더라도 다른 모든 건물로 갈 수 있는 길이 있었으나, 공 www.acmicpc.net 문제 해결 graph[u][v] : u에서 v까지 가는데 필요한 양방향화 필요한 길 개수 처음에 INF로 정의한다음 연결되어있다고 입력값이 주어지만 graph[u][v] = 0 만약 양방향이 아니고 u→v는 연결이 되어있는데 v→u는 연결이 안되어있으면 graph[v][u] = 1로 정의 플로이드-위셜을 이용하여 필요한 양방향화 길의 개수를 구할 수 있다. 플로이드-위셜로 최소거리가 아닌 필요한.. 2024. 4. 3. [python] 백준 5376 소수를 분수로 https://www.acmicpc.net/problem/5376 5376번: 소수를 분수로 유리수 분수를 소수로 나타내면, 소수점 아래 자리가 유한 개인 경우(1/8 = 0.125)와 어떤 자리에서부터 일정한 숫자가 한없이 되풀이 되는 경우(1/11 = 0.090909...)가 있다. 소수를 입력받은 뒤, 분수로 www.acmicpc.net 문제 해결 순환소수를 분수로 바꾸는 방법을 알고 있다면 구현은 어렵지 않다. 하지만 순환부분만 존재를 할 때 순환하지 않는 부분(non_repeat)는 ""이 되는데 int(non_repeat)를 사용하면 ValueError가 뜨는 것을 인지하고 작성해야한다. CODE from math import gcd def convert_to_fraction(decimal):.. 2024. 3. 28. 이전 1 2 3 4 5 6 7 8 ··· 79 다음 728x90