JadeCode

[백준] python 1059 좋은 구간 본문

개발/알고리즘

[백준] python 1059 좋은 구간

z-zero 2022. 2. 27. 12:00

https://www.acmicpc.net/problem/1059

 

1059번: 좋은 구간

[9, 10], [9, 11], [9, 12], [10, 11], [10, 12]

www.acmicpc.net

정수 집합 S가 주어졌을때, 다음 조건을 만족하는 구간 [A, B]를 좋은 구간이라고 한다.

 

일단 입력받은 집합 S를 정렬한다.

반복문을 돌려 좋은 구간을 찾는다.

 

# 중요한 점

S[0]보다 n이 작을 수 있다는 점을 간과해서는 안된다.

#20220124
#좋은 구간

import sys
input = sys.stdin.readline

#집합 S의 크기
t = int(input())
#집합 S
S = list(map(int, input().split(' ')))

n = int(input())

#정렬
S.sort()

A = B = answer = 0


for i in range(len(S)):
    if n < S[i]:
        A = S[i - 1]
        B = S[i]
        break

#S[0]보다 n이 작을 때
if n < S[0]:
    for i in range(1, n+1):
        for j in range(n, S[0]):
            if i == j:
                continue
            else:
                answer += 1
                
#S[0]보다 n이 클 때
else:
    for i in range(A+1, n+1):
        for j in range(n, B):
            if i == j:
                continue
            print(i, j)
            answer += 1

print(answer)
Comments