CodingTest/Baekjoon

[baekjoon] 백준 1337번(파이썬): 올바른 배열

JunJangE 2022. 8. 16. 00:49

문제

 

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