코딩테스트 연습 - 소수 만들기 | 프로그래머스 (programmers.co.kr)
어렵다....
def solution(nums):
summ = set()
prime = []
answer = 0
for i in range(len(nums)):
for j in range(i+1, len(nums)):
for k in range(j+1, len(nums)):
m = (nums[i], nums[j], nums[k])
if m not in summ:
summ.append(m)
a = [False, False] + [True] *999
for i in range(2, 1001):
if a[i]:
prime.append(i)
for j in range(2*i, 1001, i):
a[j] = False
for i in summ:
l = sum(i)
if l in prime:
answer += 1
return answer
모르겠다. (어떤 경우를 놓친 건지 모르겠음 - 어떤 테스트가 있었을까? )
def prime(n):
prime = []
array = [True for i in range(n+1)]
for i in range(2, n+1):
if array[i] == True:
j = 2
while i * j <= n:
array[i*j] = False
j += 1
if array[i]:
prime.append(i)
return prime
def solution(nums):
summ = set()
n = len(nums)
answer = 0
pri = prime(1000)
for i in range(0, n-2):
for j in range(i+1, n-1):
for k in range(j+1, n):
if (nums[i], nums[j], nums[k]) not in summ:
summ.add((nums[i], nums[j], nums[k]))
#prime 구해주자...
for i in summ:
if sum(i) in pri:
answer += 1
if answer >= 1:
pass
elif answer == 0:
answer = -1
return answer
'Computer Science > 자료구조' 카테고리의 다른 글
[6.7] 프로그래머스 코딩테스트 연습 - 모의고사 (8/100) (0) | 2021.06.07 |
---|---|
[6.7] 프로그래머스 코딩테스트 연습 - 소수 만들기(7/100) (0) | 2021.06.07 |
[6.6] 프로그래머스 코딩테스트 연습 - 폰켓몬 (6/100) (0) | 2021.06.06 |
[6.6] 프로그래머스 코딩테스트 연습 - 음양 더하기 (5/100) (0) | 2021.06.06 |
[6.6] 프로그래머스 코딩테스트 연습 - 체육복 (4/100) (0) | 2021.06.06 |