์ ๋ต์ ๋ง์ถ๊ธด ํ์ง๋ง, ์๊ฐ์ด ๋น์ ์์ ์ผ๋ก ๋์ ๊ฒ ๊ฐ์ ๋ค์ํ ๋ฐฉ๋ฒ์ ์๋ํ๋ค.
1. BufferedReader ์ Arrays.sort()๋ฅผ ์ฌ์ฉํ ๋ค, ํฅ์๋ for๋ฌธ์ ์ฌ์ฉํด์ BufferedWriter๋ก ์ถ๋ ฅํ๊ฒ๋ ๋ต์ ์ ์ถํ๋๋ 1708ms ๊ฐ ๋์๋ค.
2. BufferedReader ์ Arrays.sort()๋ฅผ ์ฌ์ฉํ ๋ค, ์ผ๋ฐ์ ์ธ for๋ฌธ์ ์ฌ์ฉํด์ BufferedWriter๋ก ์ถ๋ ฅํ๊ฒ๋ ๋ต์ ์ ์ถํ๋๋ 1472ms ๊ฐ ๋์๋ค.
ํฅ์๋ for๋ฌธ๋ณด๋ค ๊ทธ๋ฅ for๋ฌธ ๋ฃจํ๋ฅผ ๋๋ฆฌ๋๊ฒ ์๋๊ฐ ๋ ๋น ๋ฅด๋ค๋ ์ฌ์ค์ ์ผ๋จ๊ฒฐ์ ์๊ฒ ๋์๋ค.
3. BufferedReader ๋ก ์ ๋ ฅ์ ๋ฐ์ ๋ค, Arrays.sort ๋ฅผ ์ฌ์ฉํ๊ณ StringBuilder๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ค์ ์ ์ฅํ ๋ค, ํ๋ฒ์ ์ถ๋ ฅํ๊ฒ๋ ๊ตฌํํ์๋๋, 1528ms ๋ก ์๊ฐ์ด ๋ ๋์ด๋ฌ๋ค.
์๋๊ฐ ๋ฆ์ด์ง๋ ์์ธ์ผ๋ก Arrays.sort ๋ฅผ ์ฌ์ฉํ๋ ๊ณผ์ ์์ ์๊ฐ์ด ๋ง์ด ์์๋จ์ ์๊ฒ ๋์๋ค.
๊ทธ๋์ Boolean ๋ฐฐ์ด์ ์ด์ฉํด์ ์ ๋ ฌ์ ํ๋ค.
์๊ฐ๋ณต์ก๋์์ ์ฐจ์ด๊ฐ ๋๋ ๊ฒ ๊ฐ์๋ฐ, ์๊ฐ๋ณต์ก๋ ๊ฐ๋ ์ ์์ง ์ ๋ชฐ๋ผ์, ์ด ๋ถ๋ถ์ ๋ํด ๊ณต๋ถ๋ฅผ ํด๋ด์ผ๊ฒ ๋ค. ใ ใ
์๋ฌดํผ,
๋ฌธ์ ์์, ์ ๋ ฅ๋ ์ ์๋ ์๋ ์ ๋๊ฐ 1000000 ์ดํ์ ์ ์๋ผ๊ณ ํ์ผ๋ฏ๋ก, ์์ ๊ฐ์ด ๋ค์ด์ฌ ์ ์์์ ์ ์ ์๋ค.
boolean ์ ๊ธฐ๋ณธ๊ฐ์ false์ด๊ธฐ ๋๋ฌธ์ , -1000000 ~ 1000000์ฌ์ด์ ๊ฐ์ด ์ ๋ ฅ๋๋ฉด ์ ๋ ฅ๋ ๊ฐ์ ํด๋นํ๋ ์ธ๋ฑ์ค์ true ๊ฐ์ ์ ๋ ฅํ๊ณ , for๋ฌธ์ ์ฌ์ฉํด์ ํด๋น ์ธ๋ฑ์ค์ ๊ฐ์ด true๋ผ๋ฉด ์ธ๋ฑ์ค ๊ฐ์ ์ถ๋ ฅํ๊ฒ๋ ๊ตฌํํ๋ฉด ๋๋ค.
๋ฐ๋ผ์ ์ธ๋ฑ์ค ๊ฐ์ ์์ ๊ฐ์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์, boolean ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ 2000001 ๋ก ํด์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๋ ฅํ ๋, 1000000๊ฐ์ ๋นผ์ฃผ๋ฉด ๋๋ค.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.valueOf(br.readLine()); //์๋ ์ ๋๊ฐ์ด 1000000 ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ค.
boolean [] array = new boolean[2000001]; //๋ฐฐ์ด์ผ ใ
ฃํฌ๊ธฐ๋ 2000001
for(int i=1;i<=N;i++) {
array[Integer.valueOf(br.readLine())+1000000]=true;
}
//์
๋ ฅ๋๋ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ true๋ก ๋ง๋ฆ.
//๋ง์ฝ 0์ด ์
๋ ฅ๋๋ฉด array[1000000] ๊ฐ์ด true๊ฐ ๋ ๊ฒ์ด์ง๋ง,
//์ถ๋ ฅํ ๋, [์ธ๋ฑ์ค-1000000] ๊ฐ์ด ์ถ๋ ฅ๋๋๋ก ๋ง๋ค๋ฉด 0์ด ์ถ๋ ฅ ๋ ๊ฒ
for(int i=0;i<array.length;i++) {
if(array[i]) {
sb.append(i-1000000).append("\n"); //StringBuilder์ ์ฐจ๊ณก์ฐจ๊ณก ์์
}
}
System.out.println(sb); // ํ๋ฒ์ ์ถ๋ ฅ
}
}