문제링크
https://www.acmicpc.net/problem/1337
코드
n = int(input())
data = sorted([int(input()) for _ in range(n)])
mn = float('inf')
for i in range(n):
cnt = 0
for j in range(data[i],data[i]+5):
if j not in data:
cnt+=1
mn = min(mn,cnt)
print(mn)
문제풀이
입력받은 모든 숫자에 대해서, 해당 숫자부터 해당 숫자 +5 까지 확인하여 입력받은 리스트에 들어있지 않다면 cnt값을 증가시킨다. cnt가 최소인 값을 구한다.
list = [1, 3, 5, 6, 7,10] 이라고 생각하면, 1,2,3,4,5중 리스트에 없는 숫자의 갯수는 2개. 3,4,5,6,7중 리스트에 없는 숫자의 갯수는 1개이다. 모든 숫자에 대해 검사하여 최솟값을 구한다.
'Koala - 11기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/Java] 1300 k번째 수 (0) | 2023.08.04 |
---|---|
[백준 / Python] 27278 영내순환버스 (0) | 2023.08.03 |
[백준/C++] 2470번 : 두 용액 (0) | 2023.07.30 |
[백준/C++] 2473번: 세 용액 (0) | 2023.07.30 |
[백준/C++] 2003번 : 수들의 합 2 (1) | 2023.07.30 |