Adventure Time - Jake [백준/python] 2580 소수: 1트 코드 왜 틀렸었던걸까
본문 바로가기
Back-end/백준(python)

[백준/python] 2580 소수: 1트 코드 왜 틀렸었던걸까

by bogyoi 2023. 10. 25.

 

import sys

N=int(sys.stdin.readline())
M=int(sys.stdin.readline())
arr=[]

for i in range(N,M+1):
  if i==1:
    break
  elif i==2:
    arr.append(i)
    
  for j in range(2,i):
    if i%j==0:
      break
    if j==i-1:
      arr.append(i)

if len(arr)==0:
  print('-1')
else:
  print(sum(arr))
  print(min(arr))
 

1트

근데 틀렸다고 나옴

 

뭐지 replit에서 실행해보면 맞게 나오는데

시간복잡도가 큰가? 그 경우는 런타임 오류로 나오는 줄 알았는데.. 흠

 

import sys

N=int(sys.stdin.readline())
M=int(sys.stdin.readline())
arr=[]

for i in range(N,M+1):
  if i>1:
    if i==2:
      arr.append(i)
    for j in range(2,i):
      if i%j==0:
        break
      if j==i-1:
        arr.append(i)

if len(arr)==0:
  print('-1')
else:
  print(sum(arr))
  print(min(arr))
 

2트 하니까 맞았음

근데.. 첫번째 코드는 뭐가 안 되어서 틀렸던건지 모르겠음

for문 안에 코드가 문제였던건 맞음

흠.. 뭐지 i가 0이하인 것도 코드로 고려해줘야했었던건가?