https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWczm7QaACgDFAWn
bucket에 담는 개념을 생각하면 쉽게 풀 수 있는 문제였다.
해당 정류장에 버스가 지나가면 bucket의 인덱스에 +=1을 해주고, 이를 N번 반복하면
bucket의 각 인덱스는 지나가는 버스의 수가 된다.
(문제에서 정류장이 5000개라고 해서 bucket은 5001개의 인덱스를 가지게했다)
T = int(input())
for tc in range(1, 1+T):
bucket = [0]*5001
N = int(input())
for i in range(N):
start, end = map(int, input().split())
for j in range(5001):
if start <= j <= end:
bucket[j] +=1
이렇게 bucket에 추가해준 다음,
내가 확인할 정류장 개수인 P를 입력받고,
내가 확인할 정류장인 C도 P만큼 입력받는다.
내가 확인할 정류장C는 결국 bucket의 인덱스가 된다.
print(f'#{tc}', end = ' ')
P = int(input())
for i in range(P):
C = int(input())
print(bucket[C], end=' ')
print()
맨 마지막에 print() 안해주면 다 한줄에 출력돼서 오답나온다...;;
까먹지말자...
전체 풀이)
T = int(input())
for tc in range(1, 1+T):
bucket = [0]*5001
N = int(input())
for i in range(N):
start, end = map(int, input().split())
for j in range(5001):
if start <= j <= end:
bucket[j] +=1
print(f'#{tc}', end = ' ')
P = int(input())
for i in range(P):
C = int(input())
print(bucket[C], end=' ')
print()
'파이썬 알고리즘' 카테고리의 다른 글
[파이썬] SWEA 2001 파리 퇴치 (0) | 2022.10.18 |
---|---|
[파이썬] SWEA 5789 현주의 상자 바꾸기 (0) | 2022.10.12 |
[파이썬] 백준 2559 수열 (0) | 2022.10.03 |
[파이썬] 백준 2304 창고 다각형 (1) | 2022.10.03 |
[파이썬] 백준 2491 수열 (0) | 2022.10.03 |