본문 바로가기
Blog/Education

99클럽 코테 스터디 37일차 TIL + Queue

by 코젼 2024. 4. 30.
728x90
반응형

백준

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

 


- 오늘의 학습 키워드 : Queue

- 공부한 내용 본인의 언어로 정리하기

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.*;

public class Main {

  public static void main(String[] args) throws IOException {
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    // 1. 입력값 받아오기
    int N = Integer.parseInt(reader.readLine());

    int[] listQueuestack = new int[N];
    int[] currentList = new int[N];

    StringBuilder answer = new StringBuilder();
    // 1번 리스트 - 자료구조의 형태
    StringTokenizer input1 = new StringTokenizer(reader.readLine());
    for (int i = 0; i < N; i++) {
      listQueuestack[i] = Integer.parseInt(input1.nextToken());
    }
    // 2번 리스트 - 자료구조의 요소
    StringTokenizer input2 = new StringTokenizer(reader.readLine());
    for (int i = 0; i < N; i++) {
      currentList[i] = Integer.parseInt(input2.nextToken());
    }

    int M = Integer.parseInt(reader.readLine());
    int[] insertList = new int[M];
    // 3번 리스트 - 입력값 리스트
    StringTokenizer st3 = new StringTokenizer(reader.readLine());
    for (int i = 0; i < M; i++) {
      insertList[i] = Integer.parseInt(st3.nextToken());
    }
    // 큐 생성
    Deque<Integer> queue = new ArrayDeque<>();
    // 자료구조의 형태가 큐라면,
    for (int i = 0; i < N; i++) {
      if (listQueuestack[i] == 0) {
        queue.addFirst(currentList[i]); // 새로 만든 큐에 현재 요소를 담는다.
      }
    }
    for (int i = 0; i < M; i++) {
      queue.add(insertList[i]);
      answer.append((queue.pollFirst() + " "));
    }

    System.out.println(answer);
    reader.close();
  }
}

 


99클럽 1기를 수강하면서 작성한 글입니다.

https://99club.oopy.io/

 

99클럽-1기 모집 중

현직 개발자와 함께하는 코테 스터디

99club.oopy.io

 

728x90
반응형

댓글