• Home

My Codegate

  • Home

백준 2605 줄 세우기 자바 문제풀이

2023/12/11 Posted by Codegate Java No Comments
백준 2605 줄 세우기 자바 문제풀이

문제 링크

문제 내용은 입력으로 학생의 수와 학생들의 번호표를 받게 되는데, 처음 들어온 학생은 무조건 첫 번째고 그 다음으로 들어온 학생들은 0을 뽑으면 맨 뒷자리, 나머지 수는 해당 위치의 학생보다 앞 자리로 이동하게 되는 식이다

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;

public class LineUp {

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int count = Integer.parseInt(br.readLine());
    int[] students = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
    LinkedList<Integer> list = new LinkedList<>();
    
    for (int i = 0; i < count; i++) {
      list.add(students[i], i + 1);
    }
    
    Collections.reverse(list);
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < list.size(); i++) {
      if (i < list.size() - 1) {
        sb.append(list.get(i)).append(" ");
      } else {
        sb.append(list.get(i));
      }
    }
    
    System.out.println(sb.toString());
  }
}

코드로 보자면 일단 받은 횟수만큼 for 문을 돌려주되, list에 학생별 값을 인덱스로 해서 중간에 끼워 넣는 식으로 모두 넣어주되, i는 0부터 시작하므로 +1만 해주면 학생 순번과 상관없이 잘 들어가게 된다.

for 문을 모두 돌리고 나면 정답을 뒤집은 형태이기 때문에 Collections.reverse(리스트); 로 뒤집어주면 정답과 동일한 구조를 가지게 되는데 이제 for 문을 또 돌려주면서 값 + ” ” 를 추가해준 뒤 마지막 인덱스에만 + ” ” 를 생략하고 더해서 출력해주면 끝이다.

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next