๋ฌธ์
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/2751
- N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์๋ ์ค๋ณต๋์ง ์๋๋ค.
- ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
์์ด๋์ด
- ์ ๋๊ฐ์ด 1,000,000์ธ ์๊น์ง ์ด๋ฏ๋ก ๋ฐฐ์ด์ 2,000,001 ํฌ๊ธฐ๋ก ๋ง๋ค์ด์ 0๋ถํฐ ๊ฐ์ ์ ์ฅํ๋ค.
- ์ค๋ณต๋ ์๊ฐ ์ ๋ ฅ๋์ง ์์ผ๋ฏ๋ก boolean์ผ๋ก ๋ฐฐ์ด์ ๋ง๋ค์๋ค.
- ๋์ ์ ์ฅํ๋ ๊ฐ์ + 1,000,000์ ํด์ ๊ฐ์ ์ ์ฅํ๋ค.
- ๋ฐ๋ณต๋ฌธ์ด 0๋ถํฐ์ด๋ฏ๋ก ๋ค์ด์จ ๊ฐ์ ์ด์ฉํด arr[ (๋ค์ด์จ ๊ฐ) + 1,000,000 ]์ ๊ฐ์ true๋ก ๋ฐ๊ฟ์ค๋ค.
- ๊ทธ๋ฆฌ๊ณ 0๋ถํฐ 2,000,001๊น์ง ๋ฐ๋ณตํ๋ฉฐ ํด๋น ๋ฐฐ์ด ๊ฐ์ด true์ด๋ฉด ํด๋น i๊ฐ์์ 1,000,000์ ๋นผ์ค ๊ฐ์ ์ถ๋ ฅํ๋ค.
- ์ถ๋ ฅํ ๊ฐ์๊ฐ ์ ๋ ฅ๋ ๊ฐ์์ ๊ฐ์์ง๋ฉด ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํ๋ค.
๊ฒช์ ์ํ์ฐฉ์ค
- ์ฒ์์ ์ ๋๊ฐ์ด๋ ๋ง์ ๋ชป๋ด์ ํฌ๊ธฐ๋ฅผ 1,000,001๋ก ์ก์์ ๋ฐฐ์ด ํฌ๊ธฐ ์๋ฌ๊ฐ ๋ฌ๋ค...ใ ใ
์ฝ๋
import java.io.*;
import java.util.*;
public class BOJ2751 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
// ์ค๋ณตํด์ ์๊ฐ ๋ค์ด์ค์ง ์๋๋ค๊ณ ํ์ผ๋ฏ๋ก boolean์ผ๋ก ๊ด๋ฆฌ
// ์ ๋๊ฐ์ด 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์๋ผ๊ณ ํ์ผ๋ฏ๋ก ํฌ๊ธฐ๋ฅผ 2,000,001๋ก ์ก์
boolean arr[] = new boolean[2000001];
// ์
๋ ฅ๋ ์์ ํด๋นํ๋ฉด ๋ฐฐ์ด๊ฐ์ true๋ก ๋ณํ
// -๋ ํฌํจ์ด์ง๋ง ๋ฐฐ์ด์ ๋ฌด์กฐ๊ฑด 0๋ถํฐ ์์ํ๋ฏ๋ก 1,000,000์ ๋ํ ๊ณณ์ ํด๋น ๊ฐ์ ์ ์ฅํจ
for(int i = 1; i <= N; i++){
int n = Integer.parseInt(br.readLine());
arr[n + 1000000] = true;
}
// ๋ช๊ฐ๊ฐ ์ ์ฅ๋๋์ง ์นด์ดํธ
int cnt = 0;
// 1๋ถํฐ 2000000๊น์ง true์ธ ๊ฐ์ ์ ์ฅ
// ์นด์ดํธ ๊ฐ์ด ์
๋ ฅ๋ ์ซ์์ ์์ ๊ฐ๋ค๋ฉด ์ข
๋ฃ
for(int i = 0; i < 2000001; i++){
if(arr[i] == true){
// '-'๊ฐ์ 0๋ถํฐ ์ ์ฅํ๋๋ผ 1,000,000์ฉ ๋ํด์ ์ ์ฅํ์ผ๋ฏ๋ก
// ์ง์ง ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด 1,000,000์ ๋นผ์ค
sb.append((i - 1000000)+ "\n");
cnt = cnt + 1;
}
if(cnt == N){
break;
}
}
System.out.println(sb);
}
}
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] BOJ 10814 ๋์ด์ ์ ๋ ฌ (2) | 2024.07.16 |
---|---|
[Java] BOJ 7568 ๋ฉ์น (0) | 2024.07.15 |
[Java] BOJ 1676 ํฉํ ๋ฆฌ์ผ 0์ ๊ฐ์ (2) | 2024.07.14 |
[Java] BOJ 1436 ์ํ๊ฐ๋ ์ (4) | 2024.07.14 |
[Java] BOJ 1181 ๋จ์ด ์ ๋ ฌ (2) | 2024.07.14 |