코테/백준

[백준/JAVA] 10431번: 줄세우기

imname1am 2024. 6. 12. 18:23
반응형

📖 문제

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

 

 

 

💡  풀이 방식

• 시뮬레이션

1. TC 번호와 20개의 숫자를 입력받는다.

2. 각 학생들에 대해 본인 앞에 있는 본인보다 키 큰 사람 수를 구한다.

 

⇒ 시간 복잡도 : O(TC * N^2)

 

🔺 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.*;
import java.io.*;
 
public class Main {
    static int T, P;
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        
        P = Integer.parseInt(br.readLine());
        while(P --> 0) {
            st = new StringTokenizer(br.readLine(), " ");
            int[] arr = new int[20];
            
            for(int x = 0 ; x < 21 ; x++) {
                if(x == 0)
                    T = Integer.parseInt(st.nextToken());
                else
                    arr[x-1= Integer.parseInt(st.nextToken());
            }
            
            int cnt = 0// 본인 앞에 있는 키 큰 사람 수
            for(int i = 0 ; i < 20 ; i++) {
                for(int j = 0 ; j < i ; j++) {
                    if(arr[j] > arr[i])    // 자기 앞에 자기보다 키 큰 학생이 있는 경우
                        cnt++;
                }
            }
            sb.append(T + " " + cnt).append("\n");
        }
        System.out.println(sb.toString());
    }
}
 
cs

 

 

➕ 다른 풀이 방식

헉 리스트 활용해서 내가 풀려고 했던 방식처럼 하셨다.

 

백준 10431 줄세우기 (Java)

1. 문제 링크 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여

daon-programming.tistory.com


💦 어려웠던 점

- 리스트로 직접 정렬하면서 갯수 구할 생각을 했다...하하ㅏ하 (25퍼만 맞음)

- 초간단 문제를 헤매다니...ㅎㅎㅎㅎ

 

 

1회독 2회독 3회독 4회독 5회독
V        

(참고)

 

[백준]JAVA - 10431번: 줄세우기

10431번: 줄세우기 (acmicpc.net) 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다

sookr5416.tistory.com

 

반응형