-
2002. 추월Algorithm/Baekjoon 2023. 2. 5. 18:44
예제 입력을 간단하게 표현해야겠다고 생각하면 풀 수 있는 문제이다.
처음 들어간 자동차들을 순서대로 숫자로 표현하고,
터널에서 나온 자동차는 들어갔을 때 몇번이었는지를 표현할 수 있으면 된다.
import sys input = sys.stdin.readline def count_pass(after) : cnt = 0 for i in range(len(after)) : for j in range(i+1, len(after)) : if after[i] > after[j] : cnt += 1 break return cnt num = int(input()) before = {} after = [] for i in range(num) : before[input().rstrip()] = i for i in range(num) : after.append(before[input().rstrip()]) print(count_pass(after))
터널에 들어가는 차의 번호를 key로, 그 순서를 value로 하여 딕셔너리를 만들어준다.
이후, 나오는 차가 몇번째 순서로 들어갔던 차였는지를 dictionary key를 통해 찾아 리스트로 만들어준다.
추월했을 가능성으로 여겨지는 차는, 들어갔던 순서가 더 빨랐던 차를 뒤에 두고 있는 차가 되기 때문에
해당 리스트에서 이중 for문을 사용하여 코드를 작성해주면 된다.
'Algorithm > Baekjoon' 카테고리의 다른 글
9375. 패션왕 신해빈 (0) 2023.02.06 19583. 싸이버개강총회 (0) 2023.02.05 1946. 신입사원 (0) 2023.02.05 12840. 창용이의 시계 (0) 2023.02.05 10804. 카드 역배치 (0) 2023.02.05