-
Notifications
You must be signed in to change notification settings - Fork 1
Conversation
# 작은 소수 값이 먼저 나오며 target 값에서 작은 소수 값을 제외한 값이 소수일 경우 -> 골드바흐의 파티션 | ||
if (p_num <= target - p_num) and (target - p_num) in prime_numbers: | ||
# 만약 두 소수의 차이가 최소일 경우 정답 업데이트 | ||
if target - (2 * p_num) < min_gap: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아..!
(target - p_num) - p_num = target - (2 * p_num)이라
두 소수의 차이를 이렇게 표현하신 거군요!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 제가 노트에 쓴 걸 옮겨적다보니 축약해서 적고 설명도 안 적었네요 ㅎㅎ 말씀해주신 내용이 맞습니다!
# 소수 중에서 | ||
for p_num in prime_numbers.keys(): | ||
# 작은 소수 값이 먼저 나오며 target 값에서 작은 소수 값을 제외한 값이 소수일 경우 -> 골드바흐의 파티션 | ||
if (p_num <= target - p_num) and (target - p_num) in prime_numbers: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 전체적으로 주석이 깔끔하고 이 부분을 딕셔너리로 처리할 생각을 정말 좋은 아이디어라고 생각해요!!
시간도 O(1) 밖에 들지 않고..! 좋은 풀이 감사합니다 우열님!👍👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dictionary를 활용해서 정렬된 소수 리스트를 효율적으로 활용한 부분이 인상깊었던 풀이였습니다. 고생하셨습니다 우열님!
for idx, target in enumerate(targets): | ||
min_gap = 100001 | ||
# 소수 중에서 | ||
for p_num in prime_numbers.keys(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
정렬되어있다면, 소수 크기(p_num)가 target을 넘어가면 break하는 로직을 추가해도 좋을 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저는 리스트와 셋 자료형을 같이 썼는데 딕셔너리 하나로 대체할 수 있겠네요~~!
감사합니다 !
PR Summary
골드바흐의 추측
풀이시간
20:44 ~ 21:28 (44분)
문제 조건
4 <= N <= 10,000
2 <= target <= 10,000인 짝수
시간 복잡도 :
O(값 입력 + 에라토스테네스의 체 만들기 + 골드바흐의 파티션 찾기)
접근법
무슨 알고리즘으로 풀이 할 수 있을까? -> 구현