Implementation_20_기차가 어둠을 헤치고 은하수를(15787)

Eugenius1st·2022년 5월 6일
0

Algorithm_Baekjoon

목록 보기
100/158

Implementation20기차가 어둠을 헤치고 은하수를(15787)

문제

입력

입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다.

출력

은하수를 건널 수 있는 기차의 수를 출력하시오.

풀이

  • rotate(n) 함수 : deque에서 사용할 수 있는 함수로 n 만큼 deque가 이동한다. 예를들어, n = 1 일 경우, [-1]에 있던 값은 [0] 으로 rotate한다.

코드

import  sys
from collections import deque
input = sys.stdin.readline
n, m = map(int,input().split())
train = [deque([0]*20) for _ in range(n)]
for _ in range(m):
    box=list(map(int,input().split()))
    if box[0]==1:
        train[box[1]-1][box[2]-1]=1
    elif box[0]==2:
        train[box[1]-1][box[2]-1]=0
    elif box[0]==3:
        train[box[1]-1].rotate(1)
        train[box[1]-1][0]=0
    else:
        train[box[1]-1].rotate(-1)
        train[box[1]-1][19]=0
answer=[]
for i in train:
    if i not in answer:
        answer.append(i)
print(len(answer))
    
profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글