문제
1337번: 올바른 배열
첫째 줄에 배열의 크기 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 배열의 원소가 한 줄에 하나씩 주어진다. 원소는 1,000,000,000보다 작거나 같은 음이 아닌 정수이
www.acmicpc.net
알고리즘
- 반복문을 통해 배열을 확인한다.
- 배열의 각 수에서 시작되는 연속적인 수가 배열에 있는지 확인한다.
- 연속적이지 않은 수가 있다면 카운트 후 answer에 추가한다.
- answer에 제일 작은 값을 출력한다.
코드
import sys
n = int(sys.stdin.readline())
m = sorted(int(sys.stdin.readline()) for _ in range(n))
answer = []
# 반복문을 통해 배열을 확인
for i in m:
cnt = 0
# 반복문을 통해 각 수에서 시작되는 연속적인 수가 배열에 있는지 확인
for j in range(i, i + 5):
# 연속적이지 않은 수를 카운트
if j not in m:
cnt += 1
# 연속적이지 않은 수를 answer 추가
answer.append(cnt)
print(min(answer))
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법(Python)
내가 푼 코딩 테스트 문제와 해결법(Python). Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 20006번(파이썬): 랭킹전 대기열 (0) | 2022.08.19 |
---|---|
[baekjoon] 백준 1337번(코틀린): 올바른 배열 (0) | 2022.08.16 |
[baekjoon] 백준 1308번(자바): D-Day (0) | 2022.08.15 |
[baekjoon] 백준 2960번(자바): 에라토스테네스의 체 (0) | 2022.08.14 |
[baekjoon] 백준 11723번(자바): 집합 (0) | 2022.08.13 |