본문 바로가기
코딩/백준-자바

[자바] 백준 10431번: 줄세우기

by 철없는민물장어 2023. 2. 19.
728x90

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

 

10431번: 줄세우기

초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1

www.acmicpc.net

 

Linkedlist를 만들어서 실제로 줄을 세워보면 된다.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.StringTokenizer;

public class P10431 {

	public static void main(String[] args) throws NumberFormatException, IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		int T = Integer.parseInt(br.readLine());
		for (int testCase = 0; testCase < T; testCase++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			bw.append(st.nextToken() + " ");// 테스트케이스 정보 적기
			int count = 0;// 움직인 횟수
			LinkedList<Integer> list = new LinkedList<>();
			list.add(Integer.parseInt(st.nextToken()));
			for (int i = 0; i < 19; i++) {
				// 19번 입력받음
				int now = Integer.parseInt(st.nextToken());
				int idx = list.size();// 들어갈자리
				while (idx > 0 && list.get(idx - 1) > now) {
					idx--;
					count++;
				}
				list.add(idx, now);

			}
			bw.append(count + "\n");
		}
		bw.flush();

	}

}
728x90

댓글