https://www.acmicpc.net/problem/2581
최솟값 M, 최댓값 N이 주어지고, M이상 N이하의 소수를 구하여 소수의 합과 소수의 최솟값을 구한다.
이때 소수가 하나도 없으면 -1을 출력한다.
# input
M과 N을 각각 받는다.
# process
이중 for문을 통해 비교할 수(i)와 2부터 자기 자신까지 반복할 수(j)를 구한다.
j와 i가 같다면 소수이므로 decimal에 추가해주고, 그렇지 않다면 i를 j에 나눈 나머지를 비교하여 나누어 떨어지면 소수가 아니게 되므로 break를 통해 빠져 나온다.
# output
decimal이 false인 경우(아무 것도 없는 경우) -1을 출력하고, 그렇지 않으면 모든 리스트의 요소를 더한 값과 리스트의 0번째(가장 작은 값) 요소를 출력한다.
- 리스트가 비어있는지 확인하는 방법
1. if not list:
리스트, 튜플, 딕셔너리 등 파이썬의 시퀀스들은 비어있는 경우 false를 반환한다.
2. if len(list) ==0:
아무 데이터가 없기 때문에 len의 값으로 0이 반환된다.
- 리스트의 요소를 모두 더하는 방법
sum(list)
리스트의 요소가 모두 더해진 값이 반환된다.
해당 코드는 에디터가 코드 연습을 위해 직접 작성하였습니다.
혹시 오류가 있거나 더 좋은 코드 방향성을 아시는 분은 댓글로 남겨주시면 감사하겠습니다..!
[코딩테스트] Python 입력(Input) 방법 (0) | 2022.04.10 |
---|---|
[SWEA] 4828번 문제 풀이 (Python) (0) | 2022.04.09 |
[Baekjoon] 백준 1271번 문제 풀이 (Python 나눗셈) (0) | 2021.08.07 |
[Baekjoon] 백준 10809번 문제 풀이 (Python) (0) | 2021.08.06 |
[Baekjoon] 백준 10872번 문제 풀이 (Python) (0) | 2021.08.05 |