Coding Test/baekjoon

[백준 1059] 좋은 구간- python (solved.ac - 실버 4)

조용장 2022. 11. 13. 16:32

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

 

1059번: 좋은 구간

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

www.acmicpc.net

풀이

문제를 보았을 때 알 수 있는 힌트

n이 포함될수 있는 좋은 구간을 전부 다! 찾는 문제이다. 단순하게 브루트포스로 풀수있겠다 싶은 문제였다.

그렇기 위해서는 먼저 집합으로 정해진 구간을 정렬해 준다. 

이후 n이 포함 되는 구간을 찾는다.

여기서 포함 되는 구간이 끝인 경우와 처음인 경우가 있기에 이를 고려해줘야한다. 안그러면 틀리는 경우가 있을 것이다.

구간을 찾았다면 n을 포함 할 수 있는 모든 경우의 수를 2중 반복문으로 돌려보면 된다. 

import sys

input = sys.stdin.readline

l = int(input())
l_list = list(map(int,input().split()))
l_list.sort()
n = int(input())
start=0
last = 1001
count=0
if n in l_list:
    print(0)
else:
    for i in range(len(l_list)):
        if l_list[i]>n:
            last = l_list[i]
            if i-1>-1:
                start = l_list[i-1]
            break
    for i in range(start+1,last):
        for j in range(i+1, last):
            if i<=n<=j:
                # print(i,j)
                count+=1
    print(count)

https://github.com/dydwkd486/coding_test/blob/main/baekjoon/python/baekjoon1059.py

 

GitHub - dydwkd486/coding_test: 코딩테스트 공부한 내용 정리

코딩테스트 공부한 내용 정리. Contribute to dydwkd486/coding_test development by creating an account on GitHub.

github.com