코딩테스트/BOJ

[BOJ] 2605 줄세우기 - JAVA

5월._. 2022. 2. 9.
728x90

1. 문제

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

 

2605번: 줄 세우기

점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을

www.acmicpc.net


2. 풀이

다른 방식으로 풀어보려다 그냥 문제가 하라는 대로 따라가보니 쉽게 풀렸다.

(내 원래 순서-받은 카드 숫자)를 인덱스로 놓고 LinkedList에 add했다. 값은 내 원래순서+1이다. (문제가 1부터임) 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.List;
import java.util.StringTokenizer;

public class BOJ_2605_줄세우기 {
    public static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(in.readLine());
        StringTokenizer st = new StringTokenizer(in.readLine());

        List<Integer> students = new LinkedList<>();

        for(int i=0;i<N;i++){
            students.add(i-Integer.parseInt(st.nextToken()),i+1);
        }

        StringBuilder sb = new StringBuilder();
        for(int i=0;i<N;i++){
            sb.append(students.get(i)).append(" ");
        }

        System.out.println(sb);

    }
}

3. 결과

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

[BOJ] 2578 빙고 - JAVA  (0) 2022.02.11
[BOJ] 3053 택시기하학 - JAVA  (0) 2022.02.10
[BOJ] 2309 일곱난쟁이 - JAVA  (0) 2022.02.09
[BOJ] 2493 탑 - JAVA  (0) 2022.02.07
[BOJ] 5430 AC - JAVA  (0) 2022.02.07

댓글