[SWEA] 삼성시의 버스노선

Heejin Ryu·2021년 2월 15일
0

Algorithm

목록 보기
3/14

SWEA 6485 삼성시의 버스노선
이 코드는 받아야 할 input값도 많았고, 그리고 input값이 각각 말하는 의미도 찾기 힘들었다.
그리고 나는 처음에 5000개의 리스트를 잡아놓을 생각을 하지 못했는데, 그렇게 풀어야 쉽게 풀린다.

또 심지어 엣지케이스중에 하나가, 만약 버스정류장 갯수가 5개나오고 그 버스정류장이 모두 5로 설정되어있다면 아웃풋 값도 그 버스정류장에 지나가는 버스 노선의 갯수가 5개가 나와야한다는 것이다. 같은 버스정류장들 물어봐도 아웃풋은 한개가 아닌, 버정의 갯수만큼 나와야한다.
그래서 fail이 많이 뜬 문제였다.

import sys
sys.stdin = open('s_input.txt')

T = int(input())

for tc in range(1, T+1):
    N = int(input())
    bus_lines = [0]*N
    for n in range(N):
        bus_lines[n] = tuple(map(int, input().split()))

    bus_stops = {}
    for i in range(1, 5001):
        bus_stops[i] = 0

    P = int(input()) # 버정갯수
    stop_names = []
    for _ in range(P):
        stop_names.append(int(input()))

    for bus_line in bus_lines:
        for i in range(bus_line[0], bus_line[1]+1):
            bus_stops[i] += 1

    output = []
    for stop_name in stop_names:
        output.append(str(bus_stops.get(stop_name)))

    print("#{} {}".format(tc, ' '.join(output)))
profile
Chocolate lover🍫 & Junior Android developer🤖

0개의 댓글