ALL(147)
-
2019.02.13) 백준 13241번 (PyPy3)
오늘은 조금 쉬어가는날.. 1234567891011121314151617_a, _b = map(int, input().split(' ')) a, b = (_a, _b) if _a > _b else (_b, _a) mi = b while a % b != 0: tmp = b b = a % b a = tmpelse: mi = b print((_a // mi) * _b) Colored by Color Scriptercs
2019.02.13 -
2019.02.12) 백준 1932번 풀이 (PyPy3)
다이나믹 프로그래밍은 단순히 과정을 저장? 하는것으로 푸는 느낌이다.123456789101112131415161718l = list()r = list()c = int(input()) for i in range(c): l.append(list(map(int, input().split(' ')))) r.append(l[0]) for i in range(1, c): tmp = [l[i][0] + r[i - 1][0]] for j in range(1, len(l[i]) - 1): tmp.append((r[i - 1][j - 1] if r[i - 1][j]
2019.02.12 -
2019.02.11) 백준 1149번 풀이 (PyPy3)
12345678910111213141516171819# 입력값l = list()# 합용l2 = list()for i in range(int(input())): l.append(list(map(int, input().split(' ')))) # 첫번째 합은 당연히 그대로l2.append(l[0]) for i in range(1, len(l)): l2.append(list()) # 이웃하지 않은 것들중 2개중 작은것을 더함 그걸 R스타트 G스타트 B스타트 다 나눠서 3갈래로 저장 l2[i].append(l2[i-1][2] + l[i][0] if l2[i-1][1] > l2[i-1][2] else l2[i-1][1] + l[i][0]) l2[i].append(l2[i - 1][0] + l[i][1] if l2..
2019.02.11 -
2019.02.10) 백준 1003번 풀이 (PyPy3)
계산값을 저장하고 풀어야 시간이 맞는다1234567891011121314151617# 계산한거 저장zero = [1, 0, 1]one = [0, 1, 1] def fibo(p0): l = len(zero) if l
2019.02.10 -
2019.02.09) 백준 1038번 풀이 (PyPy3)
시간초과가 10번은 뜬거같다 간단하게 모든정수 돌렸더니 1022를 넣어서 내 컴퓨터에서도 출력이 안됐다.그래서 좀 줄여서 오직 작아지는 수만 순회할수 있는 알고리즘을 만들었다.근데 100%에서 시간초과가 뜨는 것이다좀 화나서 1시간동안 고민하고 보니까 1~9까지를 연산을 안돌리고 그냥 바로 출력해주면 되더라12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758c = int(input()) # 9까진 그냥 입력값이 답(이거때문에 1시간 낭비함)if c
2019.02.09 -
2019.02.08) 백준 1934번 풀이 (PyPy3)
유클리드 호제법으로 최대공약수 찾아서 최소공배수 구함 123456789101112131415161718for i in range(int(input())): _a, _b = map(int, input().split(' ')) a, b = (_a, _b) if _a > _b else (_b, _a) mi = b while a % b != 0: tmp = b b = a % b a = tmp else: mi = b print((_a // mi) * _b) Colored by Color Scriptercs
2019.02.08 -
2019.02.07) 백준 10845번 풀이 (PyPy3)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950que = list() def empty(p0): if len(p0) == 0: return 1 return 0 def push(p0, p1): p0.append(p1) def pop(p0): if empty(p0) == 1: return -1 return p0.pop(0) def size(p0): return len(p0) def front(p0): if empty(p0) == 1: return -1 return p0[0] def back(p0): if empty(p0) == 1: return -1 return p0[-1] for i in r..
2019.02.07 -
2019.02.06) 백준 7568번 풀이 (PyPy3)
매우 간단하다 123456789101112131415input_list = list() for i in range(int(input())): input_list.append(input().split(' ')) for i in range(len(input_list)): count = 1 for j in range(len(input_list)): if i == j: continue if input_list[i][0]
2019.02.06 -
2019.02.05) 백준 2250번 풀이 (PyPy3)
알고리즘을 생각하고 시간초과를 보고만들었더니 재귀한계로 런타임에러를 보고좀 코드를 몰아서 쓰지 않고 펼쳐서 쓰니 얼떨결에 맞았다. 2일동안 고생한 보람이..1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859count = 0 c = int(input()) graph = dict()root = [0 for i in range(c + 1)] for i in range(c): graph[i + 1] = {} # 입력for i in range(c): now, left, right = list(map(int, input().split(' '))) graph[now] = (..
2019.02.05 -
2019.02.04) 백준 1065번 풀이 (PyPy3)
설연휴라 트리검색을 열심히 탐구하다 시간에 쫒겨 브루트 포스를 간단하게 풀었다.한수의 갯수인지 모르고 자꾸 헛짚다가 결국은 수정했다. 예제가 110에 99니까 모르지...123456789c = 0for i in range(int(input()), 0, -1): if i
2019.02.04