반응형
안녕하세요~
27년차 진로탐색꾼 조녁입니다!!
1일 1코테 18일차!!!
어제 장고를 써보기로 맘먹었는데.. 그 맘먹고 코테로는 다시 돌아올수없었다 ㅠ
· 문제명 : 소수 찾기
· 사용 언어 : Python3
· 난이도 : Level1
· 문제 설명
programmers.co.kr/learn/courses/30/lessons/12921
오답 코드
def solution(n):
answer=[]
sosu =[]
for i in range(2,n+1):
for j in range(2,i):
if i%j !=0:
answer.append(i)
else:
continue
if answer.count(i) == i-2:
sosu.append(i)
return len(sosu)
어떻게 틀렸었는 지 기록하는 것도 나쁘지 않을 것 같아서 오늘부터는 중간에 틀렸던 코드도 올려볼 생각이다. 위 코드는 31점이 나왔는데 시간 초과로 밑에 문제들을 못 풀었다.
n보다 작은 모든 자연수 i 에 대해서, i보다 작은 수들 j로 나눠서 안나눠질떄 i값을 세서 그 수가 i-2개인 것들은 소수로 판정했다.
말로 써도 긴데 아마 효율성이 매우 떨어져서 시간초과가 난 것 같다. (for문 두개 .. if 문 두개.. 이게 뭐게..)
다시 풀어봐야겠다.
오답 코드2
def solution(n):
answer=[]
sosu =[]
for i in range(2,n+1):
for j in range(2,i):
if i%j ==0:
answer.append(i)
return n-len(list(set(answer)))-1
슬럼프인건가.. 못풀겠다 흑흑 ... 이번엔 56점 나왔다. for문을 두번쓰면 안되나보다.
정답 코드
def solution(n):
num=set(range(2,n+1))
for i in range(2,n+1):
if i in num:
num-=set(range(2*i,n+1,i))
return len(num)
https://link.coupang.com/a/rGILU
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
반응형
'코딩테스트 준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 콜라츠 추측 (0) | 2021.03.28 |
---|---|
[프로그래머스] 내적 (0) | 2021.03.28 |
[프로그래머스] 이상한 문자 만들기 (0) | 2021.03.24 |
[프로그래머스] 위장 (0) | 2021.03.23 |
[프로그래머스]프린터 (0) | 2021.03.22 |