BOJ_G5_1107
๐ [G5_1107] ๋ฆฌ๋ชจ์ปจ
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
// ์ฑ๋
int N = sc.nextInt();
// ๊ณ ์ฅ๋ ๋ฒํผ ๊ฐ์
int M = sc.nextInt();
// ๊ณ ์ฅ๋ ๋ฒํผ
boolean[] num = new boolean[10];
for(int i=0; i<M; i++){
int temp =sc.nextInt();
// ๊ณ ์ฅ๋ ๋ฒํผ์ true
num[temp] = true;
}
// ์ด๊ธฐ๊ฐ ์ค์
int result = Math.abs(N - 100);
for(int i=0; i <= 999999; i++){
String str = String.valueOf(i);
int length = str.length();
boolean isChecked = false;
for(int j=0;j<length;j++){
// ๊ณ ์ฅ๋ ๋ฒํผ์ด๋ผ๋ฉด
if(num[str.charAt(j) -'0']){
isChecked = true;
break;
}
}
// ๊ณ ์ฅ๋ ๋ฒํผ์ด ์์ผ๋ฉด
if(!isChecked) {
int min = Math.abs(N - i) + length;
result = Math.min(min, result);
}
}
System.out.println(result);
}
}
๐ค ๋์ ์๊ฐ
๊ณ ์์ ์ข ํ๋ค..
์ฒ์์ ๊ณ ์ฅ ์ ๋ ๋ฒํผ๋ค์ ๊ตฌํ๊ณ ๊ฐ ์๋ฆฌ์์ ๋ฒํผ๋ค์ด ๊ณ ์ฅ์ด ๋ฌ์ผ๋ฉด ๊ณ ์ฅ ์ ๋ ๊ฒ ์ค ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๋ฃ์ด์ฃผ๊ณ ๊ณ ์ฅ์ด ์ ๋ฌ์ผ๋ฉด ๋ฐ๋ก ๊ทธ ๊ฐ์ ๋ฃ์ด์ฃผ๋ ์์ผ๋ก ๊ตฌํํ์๋ค. ๊ฑฐ์ ๋ชจ๋ ์ผ์ด์ค๊ฐ ๋ง๊ธธ๋ ์ณ๋ค๊ตฌ๋ ํ๋๋ฐ ๋ง์ง๋ง 80000 ํ
์คํธ ์ผ์ด์ค๊ฐ ๋ฌธ์ ์๋ค..
8 ๋์ 7์ ๊ฐ์ ธ์ค๊ณ ์ด์ ๋ค์๋ ํฐ ๊ฐ์ด ์์ผ๋๋๋ฐ 0 ์ด ๊ณ ์ฅ์ด ์๋ฌ๋ค๊ณ 0์ ๊ฐ์ ธ์์ ์ํ๋ ๊ฐ์ด ์๋์๋ฐ..
๊ทธ๋์ ๋จธ๋ฆฌ๋ฅผ ์ธ๋ฉ๋ค๊ฐ.. ๊ฒฐ๊ตญ ์์นญ์ ํ๋ ์์ฃผ ๊ธฐ๋ฅ์ฐฌ ๋ฐฉ๋ฒ์ด ์์๋ค..
์์ ํ์์ผ๋ก ๋ฒํผ์ด ๊ณ ์ฅ๋ฌ์ผ๋ฉด ์์ ๋ฐ๋ก breakํ๊ณ ๊ณ ์ฅ ์๋ ๊ฒ๋ค ์ค์ ๊ฐ์ด ๊ฐ์ฅ ์ต์๊ฐ์ธ ๊ฒ์ ๊ตฌํ๋ ๊ฒ์ด๋ค.
๊ตฌ์กฐ๋ฅผ ํ์
ํ๊ณ ์ฝ๋ฉ์ ํ๋๋ฐ ์๊พธ ๋ฐํ์ ์๋ฌ๊ฐ ๋จ๊ธธ๋ ๋ค์ ๋ณด๊ณ ๊ฑฐ์ ๋๊ฐ์ดํ๋๋ฐ๋ ์๋์ด์.. ์ด์ ๋ฅผ ์ฐพ์๋ณด๋ Scanner ๋ฌธ์ ์๋ค..
์ด์ํ๊ฒ BufferedReader๊ฐ Scanner ๋ณด๋ค ์๋๋ ๋น ๋ฅธ ๊ฑธ๋ก ์๊ณ ์๋๋ฐ BufferedReader๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐํ์ ์๋ฌ๊ฐ ๋จ๊ณ Scanner๋ฅผ ์ฌ์ฉํ๋ฉด ํต๊ณผ๊ฐ ๋์๋ค..
๊ฒฐ๊ตญ ์์ธ์ง๋ ๋ชป์ฐพ๊ณ ๋์ ๋งบ์๋ค.. 2์๊ฐ ๋๊ฒ ๊ณ ์ํ๋ค.. ใ
ใ
๐ ์ฐธ์กฐ
https://moonsbeen.tistory.com/64