전체 글(189)
-
[python_파이썬]백준_11653번_소인수분해_풀이
공부하는허딩크 : https://www.youtube.com/live/JKVbtCm4CSM?feature=shared일단 문제를 접했을때 쉬운 소수판별은 아닌거 같아서 노트에 필기를 시작했다.1. 주어진 정수의 소인수들을 구한다. ㄴ 약수를 구한다. ㄴ 약수중에 소수의 숫자들만 별도로 리스트로 만든다.2. 그 소인수들중에서 작은 수부터 계속 나눠서 마지막 정수가 1이 나올때까지 반복한다. ㄴ 여기 반복이 조금 헷갈렸지만 for문을 먼저 두고 소인수의 요소를 차례로 뽑아낸다 ㄴ 첫번째 요소로 나눌때 나머지가 0이 될때마다 출력한다. ㄴ 두번째 요소로 나눌때 나머지가 0이 될때마다 출력한다.import sysinput = sys.stdin.readlinedef isprime(N..
2024.04.25 -
[python_파이썬]백준_1978번/2581번_소수 관련_풀이
소수 문제는 흔한 문제니까 쉽게 풀 수 있다. 일단 소수를 판별할 함수 하나 만들면 끝.근데 내가 예전에 봤던 함수는 이게 아니었는데 일단 동작하니까 passdef prime(N): answer = [] for i in range(2, N + 1): if N % i == 0: answer.append(i) if len(answer) == 1 and N in answer: return True M = int(input())N = int(input())answer = []for i in range(M, N + 1): if prime(i): answer.append(i)if not a..
2024.04.24 -
[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