Notice
Recent Posts
Recent Comments
Link
유자차의 재테크 공부방
[프로그래머스] 소수찾기 본문
반응형
팁
while ~ else 문
# while문을 수행하는 동안 break가 일어나지 않으면 else문 실행
# while문을 수행하는 동안 break가 일어나지 않으면 else문 실행
num = 1
while num < 5:
print("{}는 5이하인 수 입니다.".format(num))
num += 1
else:
print("{}는 5이상인 수 입니다. 종료합니다.".format(num)
##### 출력 결과 ######
# 1는 5이하인 수 입니다.
# 2는 5이하인 수 입니다.
# 3는 5이하인 수 입니다.
# 4는 5이하인 수 입니다.
# 5는 5이상인 수 입니다. 종료합니다.
# for ~ while 문
for i in range(2, 6):
for j in range(2, i):
if i % j == 0:
print("{i}는 {j}의 배수다.".formta(i,j))
break
else:
print("{i}는 소수다.".format(i))
##### 출력 결과 ######
# 2는 소수다.
# 3는 소수다.
# 4는 2의 배수다.
# 5는 소수다.
풀이 방법 1
2부터 n-1까지의 숫자를 n에 나누어주면서 소수인지 확인
def solution(nums):
n = len(nums)
ans = 0
for i in range(n-2):
for j in range(i+1,n-1):
for k in range(j+1,n):
temp = nums[i]+nums[j]+nums[k]
div = 2
while div != temp:
if temp%div == 0:
break
div += 1
if div == temp:
ans += 1
return ans
from itertools import combinations as cb
def solution(nums):
ans = 0
for temp in cb(nums, 3):
div = 2
while div != sum(temp):
if sum(temp)%div == 0:
break
div += 1
else:
ans += 1
return ans
반응형
'파이썬 > 알고리즘 문제 풀이' 카테고리의 다른 글
[프로그래머스] 최대공약수와 최소공배수 (0) | 2022.03.19 |
---|---|
[프로그래머스] 문자열 내 마음대로 정렬하기 (0) | 2022.03.18 |
[프로그래머스] 없는 숫자 더하기 (0) | 2022.03.05 |
[프로그래머스] 크레인 인형뽑기 게임 (0) | 2022.03.05 |
[프로그래머스] 키패드 누르기 (0) | 2022.03.04 |
Comments