https://www.acmicpc.net/problem/10989
10989๋ฒ: ์ ์ ๋ ฌํ๊ธฐ 3
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
www.acmicpc.net
import java.io.*;
class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int size = Integer.parseInt(br.readLine());
int[] buffer = new int[10001];
for(int i=0; i<size; i++){
int tmp = Integer.parseInt(br.readLine());
buffer[tmp]++;
}
int idx = 1;
while(size>=0){
if(idx!=0){
for(int i=0; i<buffer[idx]; i++){
bw.write(idx+"\n");
}
idx++;
size--;
}
}
bw.flush();
bw.close();
}
}
์ค๋ต๋ ธํธ(ํธ๋ ๋์ ์ฌ๊ณ ๊ณผ์ ๋ฐ ๊ฐ์ ์ )
๋ค์ด์ค๋ ์๊ฐ 10000๊น์ง๋๊น, 1~10000์ด ๋ค์ด๊ฐ ๋ฐฐ์ด์ ๋ฏธ๋ฆฌ ์ง์ ์ผ์ข ์ ๊ณ์์ ๋ ฌ์ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํ๋ค.
์์ด๋์ด๋ ์ ์ง ๊ฒ๊ฐ์๋ฐ ์๊ฐ์ด๊ณผ๊ฐ ๊ณ์ ๋๋ฒ๋ ธ๋ค.
๊ทธ๋ฆฌ๊ณ BufferedWriter๋ฅผ ์ฌ์ฉํ๋๊น ๋ฌด์จ ์ด์ ์ธ์ง ๋ชฐ๋ผ๋ ๋ฐํ์์๋ฌ๊ฐ ๊ณ์ ๋ฌ๋ค. ์ ์ค๋ต์ฝ๋์๋ ์์ง๋ง StringBuilder๋ก ์์ฑํ๋ ๋ฐํ์์๋ฌ๋ ์๋์๊ณ ์๊ฐ์ด๊ณผ๊ฐ ๋๋ ๊ฑธ ๋ณผ ์ ์์๋ค.
์ ๋ต์ฝ๋
import java.io.*;
class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int size = Integer.parseInt(br.readLine());
int[] buffer = new int[10001];
for(int i=0; i<size; i++){
int tmp = Integer.parseInt(br.readLine());
buffer[tmp]++;
}
StringBuilder sb = new StringBuilder();
for(int j=1; j<=10000; j++){
while(buffer[j]-- >0){
sb.append(j).append("\n");
}
}
System.out.println(sb);
}
}
๋ฌธ์ ๋ ์ถ๋ ฅํ๋ ๋ถ๋ถ์ ์ด๋ป๊ฒ ์ก๋์๋ค. ์ถ๋ ฅํ ๊ณ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋งํผ ๋๊ฒ ํ๊ณ , ๊ณ์ ๋ฐฐ์ด์ ์์๊ฐ์ ์ค์ด๋ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅํ๋ค.
StringBuilder๋ฅผ ์ธ ๋ ์ฃผ์ํ ์ ์ด ์๋ค.
sb.append(j).append("\n");
sb.append(j+"\n");
์ด ๋ ์ค์ ์ฝ๋๊ฐ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค๋ฉด, ์ธ์ ๊ฐ ์๊ฐ์ด๊ณผ๋ฅผ ๋ณด๊ฒ ๋ ๊ฒ์ด๋ค.
+ ๊ณผ์ ์์ String ๊ฐ์ฒด๊ฐ ๋งค๋ฒ ์์ฑ๋๋ ๊ฑธ ๋ง๊ธฐ์ํด append๋ฅผ ์ฐ๋๊ฑด๋ฐ append ์์ ๋ฃ์ด๋ฒ๋ฆฌ๋ฉด ๊ทธ ํจ๊ณผ๋ฅผ ๋ฒ๋ฆฌ๋ ์ง์ด ๋๋ค. ๋ฐ๋ผ์ ๊ฐํ์ด ํ์ํ๋ฉด ๊ฐํ๋ฌธ์๋ append๋ก ๋ฃ์ด์ค์ผํ๋ค!
"๋๊ธ, ๊ณต๊ฐ ๋ฒํผ ํ ๋ฒ์ฉ ๋๋ฅด๊ณ ๊ฐ์ฃผ์๋ฉด ํฐ ํ์ด ๋ฉ๋๋ค"
'OJ๐ผ > ์ค๋ต๋ ธํธ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SWEA][JAVA] 10/28 - D1 ๋ฐ๊ธฐ (0) | 2023.10.28 |
---|---|
[BOJ][JAVA] 10448: ์ ๋ ์นด ์ด๋ก (0) | 2023.10.21 |
[BOJ][JAVA] 3273: ๋ ์์ ํฉ (0) | 2023.10.16 |
[BOJ][JAVA] 1236: ์ฑ์งํค๊ธฐ (0) | 2023.10.16 |
[BOJ][JAVA] 10158: ๊ฐ๋ฏธ (0) | 2023.10.08 |