코드리뷰(127)
-
[python_파이썬]백준_2501번_약수구하기_풀이
이정도는 금방 풀 수 있겠지? 생각했으나 왠걸? 2번만에 성공했다.out of range에 대한 예외 처리 필요A, B = map(int, input().split())answer = []for i in range(1, A + 1): if A % i == 0: answer.append(i) answer.sort()print(answer)if not answer[B-1]: print(0)else: print(answer[B-1]) 처음 코드에서는 out of range에 대한 대비를 하려고 if조건에 not answer[B-1]을 했지만 이건 동작을 하지 않는다. 그래서 예외처리를 고민한 결과 아래와 같이 전체 list의 크기가 B..
2024.04.24 -
[python_파이썬]백준_1193번_분수찾기_풀이
공부하는허딩크 : https://www.youtube.com/live/OlQbmK-38aQ?feature=shared 이것도 어렵네... 문제 자체도 이해못해서 지그재그의 과정도 다른 풀이를 참고했다. 아래의 코드도 스스로 풀지는 못했고, 다른 풀이를 참조했으나 첫번째 코드는 시간초과가 발생했다. import sys input = sys.stdin.readline N = int(input()) # 시간초과 cnt = 1 temp = 1 a = 1 b = 1 answer = 1 while N > temp: cnt += 1 temp += cnt for i in range(2, cnt + 1): if i % 2 == 0: b += 1 answer += 1 if answer == N: break for _ in..
2024.04.23 -
[python_파이썬]백준_2292번 벌집_while 조건_풀이
공부하는허딩크 : https://www.youtube.com/live/OlQbmK-38aQ?feature=shared 2292번 벌집 // 1193번 분수찾기 문제에서 주어진 문제에서 while문의 조건을 생각해 내는게 너무 어렵다. 막상 답을 보면 이해가 되지만, 내가 다시 문제를 접했을때 이걸 스스로 해결 할 수 있을까?? 혼자서 노트에다가 어떤 공식이 있는지 계속 복습을 했다. circle = 1 temp = 1 while N > temp: temp += 6 * circle circle += 1 print(circle) 중요한건 while num > temp: 반복 조건 반복 조건에서 1은 예외니까 무시하고, num이 2~7까지는 temp = 1일때 circle이 2가 됨. => 다시 temp가 7..
2024.04.23 -
[python_파이썬]백준_2869번_달팽이는 올라가고 싶다_막막한 풀이
공부하는허딩크 : https://www.youtube.com/live/OlQbmK-38aQ?feature=shared참나..... 왜 올라가야할 거리 % 하루에 갈 수 있는 거리 == 0이면 답인거야?? 이거부터 이해가 안가네?? A : 올라갈 수 있는 거리 B : 미끄러진 거리 V : 높이 올라가야할 거리 : V - B / 하루에 갈 수 있는 거리 : A - B ㄴ 왜 올라가야할 거리가 V - B이지?? 다른 설명을 보자. 이게 제일 괜찮은 것 같다. 일단 기본적으로 구해야 하는 값(V에 도달날 날짜)을 x로 놓으면 올라간 높이는 A * x, 내려간 높이는 B * (x - 1)이다 잘 생각해보자. 어차피 미끄러져서 도착하는건 말이 안된다. 즉, 올라가는 도중에 최종 높이에 도착하는 경우밖에 없다. (회..
2024.04.23 -
[python_파이썬]백준_2292번_벌집_막막한 풀이
공부하는 허딩크 : https://www.youtube.com/live/Oxb1EL00IUA?feature=shared 다른 사람들은 천재인가봐.... 나는 이 문제를 딱 봤을때 어떤 공식이나 접근법이 떠오르지 않았다. 최근에 DFS를 공부해서 배열을 사용해야 하나.... 재귀를 사용해야 하나.... 엄청 고민했다. 하지만, 고민하는게 너무 시간이 오래 걸리니까 이게 더 스트레스가 쌓여서 공부를 포기할 것 같다. 그냥 다른 사람이 작성한 코드를 보자. 앞으로 30분동안 고민해서 답 안나오면 그냥 답을 보고 외워버릴거야. num = int(input()) numbox = 1 cnt = 1 while num > numbox: numbox += 6 * cnt cnt += 1 print(cnt)이걸 딱 보는 순..
2024.04.21 -
파이썬 알고리즘... 접근을 어떻게 해야할지 너무 막막하네.
공부하는 허딩크 : https://www.youtube.com/live/Oxb1EL00IUA?feature=shared 4시간째 알고리즘 문제를 풀고 있다. 그런데 새로운 문제를 직면할때마다 너무 막막하다. 어떻게 접근해야 할지 모르겠다. 기본적인 문제 같은데 막상 고민해보면 답이 안나오네.... 근데 해결하고 나면 코드 자체는 간단하고. 기본적인 문제에서 위로 올라갈 수록 어떻게 공부해야 할지 막막하네...... 그냥 답을 보고 외워야하나.... 기본적인 문제에 고민하는데 1~3시간이 걸리면 이건 닶이 없는데.... 그냥 코딩을 포기해야하나......
2024.04.21