2021. 1. 18. 13:09ㆍProgramming/SW Expert Academy
SW Expert 아카데미 6485번 "삼성시의 버스 노선" 문제입니다.
TC = int(input())
for tc in range(1, TC+1):
N = int(input())
lst = [0]*5002
for i in range(N):
A, B = map(int, input().split())
for j in range(A, B+1):
lst[j] += 1
P = int(input())
ans = []
for k in range(P):
idx = int(input())
ans.append(lst[idx])
print("#%s"%tc, end=" ")
for e in ans:
print(e, end=" ")
print()
나는 이 문제가 굉장히 설명이 어렵게 나와있다고 생각한다. 설명만 좀 더 쉽게 되어있으면 쉬운 문제라고 생각한다.
첫 번째 줄에는 테스트 케이스의 개수가 입력된다. 1이 입력되었으니 테스트케이스가 1개가 예시로 나와있다.
두 번째 줄에는 운행하는 버스의 노선 개수를 입력받는다. 2가 입력되었으니 운행하는 버스 노선은 2개다.
다음 줄부터는 운행하는 버스 노선의 개수만큼 줄을 입력받는다. 입력받는 내용은 버스 노선의 시작 버스정류장과 종착 버스정류장의 번호이다.
1 3 이 입력되었으므로 첫 번째 버스는 1번 버스정류장부터 3번 버스정류장까지 운행한다는 말이다.
두 번째 줄에는 2 5가 입력되었으니 두 번째 버스는 2번 버스정류장부터 5번 버스정류장까지 운행한다는 말이다.
그 다음에는 숫자 한 개를 입력받는데 이는 운행하는 버스 정류장 정보를 얼만큼 출력할지에 대한 정보이다. 5를 입력받았으니 5개의 버스 정류장 정보를 출력할 것이다.
다음 5개의 입력은 출력할 버스 정류장의 번호를 입력받는다. 예시에서는 1~5를 입력했으므로 1번부터 5번까지 버스 정류장의 버스 운행 수를 출력한다.
1~3번 버스 정류장에서 버스 노선 하나가 운행되고 2번~5번 버스 정류장에서 버스 노선 하나가 운행되므로
1, 4, 5번 버스 정류장에서 운행되는 버스는 1개이고, 2, 3번 버스 정류장에서 운행되는 버스는 2개이므로 출력값은 1 2 2 1 1이 된다.
'Programming > SW Expert Academy' 카테고리의 다른 글
SW Expert 아카데미 // 5986 (0) | 2021.01.18 |
---|---|
SW Expert 아카데미 // 6190 (0) | 2021.01.18 |
20210116 // 삼성 SW Expert 아카데미 // 6692 (0) | 2021.01.16 |
20210116 // 삼성 SW Expert 아카데미 // 10200 (0) | 2021.01.16 |
20210116 // 삼성 SW Expert 아카데미 // 1940 (0) | 2021.01.16 |