Hoin's security

2. [5주차] 백준 알고리즘 문제풀이 공 바꾸기 (10813번), 큐 2 (18258번) 본문

Algorithm/Baekjoon

2. [5주차] 백준 알고리즘 문제풀이 공 바꾸기 (10813번), 큐 2 (18258번)

Hoin.s 2023. 11. 2. 13:17

공 바꾸기 (10813번)

문제는 위와 같다.

n, m=map(int, input().split())
box = [i for i in range(1,n+1)]

for _ in range(m):
    i, j = map(int, input().split())
    temp = box[i-1]
    box[i-1]=box[j-1]
    box[j-1]=temp

for b in box:
  print(b, end=' ')

 

꽤나 쉽다. temp 변수 사용해서 위치 바꿔주면 된다.


큐 2 (18258번)

문제는 위와 같다.

시간 초과 오류  발생해서 deque를 사용하 코드를 수정했다.

import sys
from collections import deque
n = int(input())
queue = deque([])
for i in range(n):
    com = sys.stdin.readline().split()
    if com[0] == 'push':
        queue.append(com[1])
    elif com[0] == 'pop':
        if len(queue) == 0:
            print(-1)
        else:
            print(queue.popleft())
    elif com[0] == 'size':
        print(len(queue))
    elif com[0] == 'empty':
        if len(queue) == 0:
            print(1)
        else:
            print(0)
    elif com[0] == 'front':
        if len(queue) == 0:
            print(-1)
        else:
            print(queue[0])
    elif com[0] == 'back':
        if len(queue) == 0:
            print(-1)
        else:
            print(queue[-1])

성공!