Skip to content

Commit cc48ad3

Browse files
committed
[Silver II] Title: 한 줄로 서기, Time: 120 ms, Memory: 15852 KB -BaekjoonHub
1 parent 06b9d47 commit cc48ad3

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# [Silver II] 한 줄로 서기 - 1138
2+
3+
[문제 링크](https://www.acmicpc.net/problem/1138)
4+
5+
### 성능 요약
6+
7+
메모리: 15852 KB, 시간: 120 ms
8+
9+
### 분류
10+
11+
그리디 알고리즘, 구현
12+
13+
### 제출 일자
14+
15+
2024년 11월 27일 14:31:32
16+
17+
### 문제 설명
18+
19+
<p>N명의 사람들은 매일 아침 한 줄로 선다. 이 사람들은 자리를 마음대로 서지 못하고 오민식의 지시대로 선다.</p>
20+
21+
<p>어느 날 사람들은 오민식이 사람들이 줄 서는 위치를 기록해 놓는다는 것을 알았다. 그리고 아침에 자기가 기록해 놓은 것과 사람들이 줄을 선 위치가 맞는지 확인한다.</p>
22+
23+
<p>사람들은 자기보다 큰 사람이 왼쪽에 몇 명 있었는지만을 기억한다. N명의 사람이 있고, 사람들의 키는 1부터 N까지 모두 다르다.</p>
24+
25+
<p>각 사람들이 기억하는 정보가 주어질 때, 줄을 어떻게 서야 하는지 출력하는 프로그램을 작성하시오.</p>
26+
27+
### 입력
28+
29+
<p>첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 크거나 같고, N-i보다 작거나 같다. i는 0부터 시작한다.</p>
30+
31+
### 출력
32+
33+
<p>첫째 줄에 줄을 선 순서대로 키를 출력한다.</p>
34+
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import java.io.*;
2+
import java.util.*;
3+
4+
public class Main {
5+
public static void main(String[] args) throws IOException {
6+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
7+
8+
StringTokenizer st;
9+
10+
int N = Integer.parseInt(br.readLine());
11+
st = new StringTokenizer(br.readLine());
12+
13+
int arr[] = new int[N+1];
14+
15+
for(int i = 1; i<=N; i++) {
16+
arr[i] = Integer.parseInt(st.nextToken());
17+
}
18+
19+
int answer[] = new int[N+1];
20+
21+
for(int i = 1; i<=N; i++) {
22+
23+
for(int j = 1; j<=N; j++) {
24+
if(arr[i] == 0 && answer[j] == 0) {
25+
answer[j] = i;
26+
break;
27+
}
28+
else if(answer[j]== 0) {
29+
arr[i]--;
30+
}
31+
}
32+
}
33+
34+
for(int i =1; i<=N; i++) {
35+
System.out.print(answer[i] +" ");
36+
}
37+
38+
}
39+
}

0 commit comments

Comments
 (0)