본문 바로가기
반응형

분류 전체보기252

[백준][Python] 2168번 타일 위의 대각선 2168번: 타일 위의 대각선 첫째 줄에 가로의 길이 xcm와 세로의 길이 ycm가 주어진다. x와 y는 1,000,000,000 이하의 자연수이다. x와 y사이에는 빈칸이 하나 이상 있다. www.acmicpc.net 코드 def gcd(x,y): if y > x: x,y = y,x while 1: if y == 0: break x,y = y, x%y return x x,y = map(int,input().split()) g = gcd(x,y) print(x+y-g) 설명 예전에 비슷한 문제를 풀어봐서 답을 구하는 식이 x + y - gcd(x,y) 였던 것이 생각났다. def gcd(x, y): for i in range(min(x, y), 0, -1): if x % i == 0 and y % i =.. 2022. 9. 19.
[백준][Python] 2553번 마지막 팩토리얼 수 2553번: 마지막 팩토리얼 수 첫째 줄에 N이 주어진다. N은 20,000보다 작거나 같은 자연수 이다. www.acmicpc.net 코드 n = int(input()) ans = 1 for i in range(1,n+1): ans *= i ans = str(ans) for i in range(len(ans)-1,-1,-1): if int(ans[i]) != 0: print(ans[i]) break 설명 팩토리얼 계산 값 ans를 string형으로 변환한 후 뒤에서부터 하나씩 비교를 해서 0이 아닌 경우 해당 값을 출력해준다. string을 뒤집는 방법이 생각이 안나서 for문을 이용해서 뒤에부터 확인하는 방법을 썼다. ans = str(ans)[::-1] 구글링 해서 찾았는데 이제 기억이 났다. . . 2022. 9. 16.
[백준][Python] 2606번 바이러스 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 코드 from collections import defaultdict def dfs(s): global cnt v.add(s) for i in virus[s]: if i not in v: cnt += 1 dfs(i) cnt = 0 com = int(input()) conn = int(input()) virus = defaultdict(list) v = set() for i in range(conn): a,b = map(int,input().split()) virus[.. 2022. 9. 15.
[백준][Python] 19583번 싸이버개강총회 19583번: 싸이버개강총회 첫번째 줄에는 개강총회를 시작한 시간 S, 개강총회를 끝낸 시간 E, 개강총회 스트리밍을 끝낸 시간 Q가 주어진다. (00:00 ≤ S < E < Q ≤ 23:59) 각 시간은 HH:MM의 형식으로 주어진다. 두번째 줄부터는 www.acmicpc.net 코드 import sys start,end,stream = input().split() start = 60*int(start[:2]) + int(start[3:]) end = 60*int(end[:2]) + int(end[3:]) stream = 60*int(stream[:2]) + int(stream[3:]) att = set() cnt = 0 while 1: try: time, user = sys.stdin.readline.. 2022. 9. 14.
반응형