홍우진의 개발 일기장
[백준] 1059번: 좋은 구간/ 파이썬 본문
728x90
반응형
문제 링크
https://www.acmicpc.net/problem/1059
풀이 코드
L = int(input())
S = list(map(int,input().split()))
n = int(input())
S.sort()
if n in S:
print(0)
else:
min = 0
max = 0
for num in S:
if num < n:
min = num
elif num > n and max == 0:
max = num
max -= 1
min += 1
print((n-min)*(max-n+1) + (max-n))
코드 해석
(n보다 작은 수의 개수) * (n을 포함한 n보다 큰 수의 개수) + (n보다 큰 수의 개수) 라는 규칙을 적용한다.
먼저 수를 받은 후 리스트에 저장한다.
만약 리스트 안에 n이 포함되어있다면 0을 출력하여준다.
n과 가까운 두 수를 구해준 뒤 자신의 값들을 빼준다.
그 후 공식을 적용하여준다.
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 10994번: 별 찍기 - 19/ 파이썬 (0) | 2022.08.24 |
---|---|
[백준] 2670번: 연속부분최대곱/ 파이썬 (0) | 2022.08.23 |
[백준] 10158번: 개미/ 파이썬 (0) | 2022.08.21 |
[백준] 1940번: 주몽/ 파이썬 (0) | 2022.08.21 |
[백준] 2491번: 수열/ 파이썬 (0) | 2022.08.21 |
Comments