[Beakjoon] 24511. queuestack

2024. 5. 30. 00:33·코딩테스트
728x90
반응형

🔗 Problem Link

https://www.acmicpc.net/problem/24511


❔Thinking

  • N개의 자료구조에 주어지는 숫자를 차례로 append하고 pop한 숫자를 다시 append하여 최종 pop한 숫자를 출력한다.
  • 1은 스택을, 0은 큐를 의미한다.
  • M개의 숫자를 차례로 append하기 때문에, 최종 출력하는 숫자는 공백을 사이에 둔 M개의 숫자이다.

💻Solution

import sys
input = sys.stdin.readline

N = int(input().rstrip())
A = list(input().split())
B = list(input().split())
result = [b for a, b in zip(A,B) if a == '0'][::-1]
M = int(input().rstrip())
result.extend(list(input().split()))

# 결과 출력
print(' '.join(result[:M]))

🗝️keypoint

  1. 스택은 append하고 pop한 숫자가 원래의 숫자와 같기 때문에, 고려하지 않아도 된다.
  2. 큐의 append와 pop을 반복하는 일은, 주어진 모든 큐를 하나의 큐로 합하여 생각하는 것과 같다.
    1. a = [1,2,3], b = [4,5,6]을 하나의 큐로 합치면 a_b = [1,2,3,4,5,6]과 동일하다.
저작자표시 (새창열림)

'코딩테스트' 카테고리의 다른 글

[Beakjoon] 7579. 앱  (0) 2024.12.26
그래프의 사이클 판별  (0) 2023.08.02
그래프 표현  (0) 2023.08.01
'코딩테스트' 카테고리의 다른 글
  • [Beakjoon] 7579. 앱
  • 그래프의 사이클 판별
  • 그래프 표현
swwho
swwho
일상을 데이터화하다
  • swwho
    하루한장
    swwho
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • ML_DL (39)
        • MUJAKJUNG (무작정 시리즈) (18)
        • 딥러닝 공부하기 (21)
      • 데이터사이언스 (1)
        • EDA (1)
        • 데이터과학을 위한 통계 (0)
      • 데이터엔지니어링 (2)
      • 논문리뷰 (2)
        • Computer Vision (2)
      • Python 활용하기 (12)
      • 코딩테스트 (127)
        • Python (109)
        • MySQL (14)
      • Git (3)
      • MySQL 활용하기 (0)
      • 일상 이야기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
swwho
[Beakjoon] 24511. queuestack
상단으로

티스토리툴바