코드리뷰(127)
-
★[python_파이썬_소수의 시간고려]백준_17103번_골드바흐 파티션_풀이
공부하는허딩크 : https://www.youtube.com/live/KtmItpIeYu4?feature=shared소수 판별만 하면 될 줄 알았는데 예상보다 어렵다.솔직히 문제도 잘 이해가 가지 않는다.처음에는 조합으로 해서 최대 조합의 개수를 구하는 건가? 했는데 조건에 두 소수의 합으로 고정되어 있으니조합을 2개로 제한하고 combinations_with_replacement 함수로 조합의 개수를 구하니 파이썬에서 답은 나왔다.단, num = 100일때 시간이 좀 걸려서 시간초과가 예상되었다.import sysimport itertoolsinput = sys.stdin.readlineT = int(input())for _ in range(T): num = int(input()) p..
2024.05.21 -
[python_파이썬_pass]백준_4948번_베르트랑 공준_풀이
공부하는허딩크 : https://www.youtube.com/live/KtmItpIeYu4?feature=shared소수판별에 많은 시간을 소비하고 있다. 이번에 확실히 잡아야 겠다. 바로 에라토스테네스의체 알고리즘을 활용하고 기준은 리스트를 활용했다.주의할 점은 문제의 조건에서 n보다 크고, 2n보다 작거나 같은 소수의 개수는 n import sysinput = sys.stdin.readlinewhile True: num = int(input()) if num == 0: break graph = [i for i in range(num * 2 + 1)] cnt = 0 for i in range(2, int(2*num**0.5) + 1): if ..
2024.05.20 -
★[python_파이썬_pass_소수관련 알고리즘 종합 복습]백준_1929번_소수 구하기_풀이
공부하는허딩크 : https://www.youtube.com/live/KtmItpIeYu4?feature=shared 일단 에라토스테네스의 체 알고리즘을 활용해서 풀어보았다.잠깐 생각이 안나서 복습하고 옴.에라토스테네스의체 알고리즘 : https://heodinkcodingdiary.tistory.com/64 [python_파이썬_pass_에라토스테네스의체 알고리즘]백준_4134번_다음 소수_풀이공부하는허딩크 : https://www.youtube.com/live/KtmItpIeYu4?feature=shared 소수판별 알고리즘을 알고 있으면 쉽게 풀 수 있다.import sysinput = sys.stdin.readlinedef prime(n): if n 1: return 0 e..
2024.05.20 -
★[python_파이썬_소인수]프로그래머스_LV0_유한소수 판별하기_풀이
공부하는허딩크 : https://www.youtube.com/live/KtmItpIeYu4?feature=shared 정말 짜증나는 문제였다.처음 프로그래머스로 파이썬 코딩 테스트 연습을 하다가 몇 가지 문제에 막혀서 백준에서 다시 기초를 밟으면서 전체적으로 복습을 진행했다. 그 이후 백준으로 돌아와서 실버문제에서 조금 고민하면 그래도 웬만큼 풀렸는데 LV0짜리가 계속 풀리지 않았다. 여기에 내 문제점이 있었다. 문제에서 소인수가 가장 중요한 개념인데 그 개념을 놓치고 문제를 해결하려고 하니 풀리지 않았다. (=> 이것도 다른 사람 풀이에서는 필요 없는 개념이다.) 일단 소인수란 정수를 소수들의 곱으로 표현할 때 사용되는 소수들을 의미한다. 예를 들어 어떤 정수를 소수들의 곱으로 나타내면 그 소수들을 ..
2024.05.20 -
[python_파이썬_pass_에라토스테네스의체 알고리즘]백준_4134번_다음 소수_풀이
공부하는허딩크 : https://www.youtube.com/live/KtmItpIeYu4?feature=shared 소수판별 알고리즘을 알고 있으면 쉽게 풀 수 있다.import sysinput = sys.stdin.readlinedef prime(n): if n 1: return 0 elif n 3: return 1 for i in range(2, int(n**0.5) + 1): if n % i == 0: return 0 return 1 n = int(input())for _ in range(n): num = int(input()) while not prime(num): num += ..
2024.05.19 -
[python_파이썬_pass]프로그래머스_LV0_특이한 정렬_풀이
공부하는허딩크 : https://www.youtube.com/live/d04PXaSTIlQ?feature=shared중점적으로 생각해야 할 부분은 2가지로 생각했다.첫번째는 주어진 n과의 차이.두번째는 차이를 기본으로 한 기존 numlist의 숫자들의 크기이다. 이 2가지를 고려했을때 생각난 방법은 배열이다. 처음 빈 리스트를 만들고 그 안에 numlist의 숫자와 n과의 차이를각각 추가하고, 2가지 모두 sort를 걸어주면 답이 나오겠다고 생각했다. 이번에는 lambda를 이용해서 1번index에 접근해서 sort를 적용했다.지난번 백준에서 풀었던 배열 문제중에 같은 배열에 기준이 다른 sort를 각각 걸어주면 첫번째 효과는 유지한채 두번째 효과가 적용되는걸 볼 수 있었다.#배열로 숫자와 거리를 [0,..
2024.05.17