백준 문제 정리 2581번 - Python

이성효·2021년 7월 28일
0

백준문제

목록 보기
6/8

2581 소수 문제

문제 링크 : https://www.acmicpc.net/problem/2581

  1. 엘리스에서 소수 문제에 관해서 풀어보았기 때문에, 금방 풀 수 있었음. 특정한 범위(입력값)를 지정해주고 그 사이에 있는 소수의 합과, 그 중 최소값을 출력하는 문제다.
  1. 이번에는 이전 문제들과 달리 N과 M을 한 줄에 입력받는 것이 아니라, 따로 받는 것이기 때문에 두 줄에 나누어 코드를 작성하였다.

이전 코드

M, N = map(int, input().split())

현재 코드

M = int(input())
N = int(input())

완성 코드 :

```
M = int(input())
N = int(input())
arr = []

for i in range(M, N+1):
    if i == 1:
	pass
    elif i == 2:
	arr.append(i)
    else:
    	for j in range(2, i):
            if i % j == 0:
            	break
            elif j == i-1:
            	arr.append(i)
                
if len(arr) == 0:
    print('-1')	    #범위 내 소수가 없을 경우에 대한 케이스
    
else:
    print(sum(arr)) #범위 내 모든 소수값의 합
    print(min(arr)  #범위 내 가장 작은 소수
```

느낀 점 : 이미 소수 문제를 풀어보았던 터라 금방 풀어볼 수 있었다. 하지만 범위 내 소수가 없는 케이스를 생각 못 하고 제출하여 첫 번째 시도에서 틀렸었다. 하지만 그 후에 코드 수정 후 성공하였음.

profile
디발자가 되고픈 이성효라고 합니다 :)

0개의 댓글