
문제

내 풀이 1 : 100점 ^^
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
// 10의 9승 이하의 소수가 아닌 수랬으니까 걍 10의 9승 출력한다
System.out.println(1000000000);
}
}
내 풀이 2 : 100점
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 num = Integer.parseInt(br.readLine());
while (true){
int root = (int)Math.sqrt(num);
boolean flag = false;
for (int i = 2; i <= root; i++) {
if (num % i == 0){
flag = true;
break;
}
}
if (flag){
sb.append(num);
break;
}
num++;
}
System.out.println(sb.toString());
}
}
느낀점

야매로 안푸니까 시간도 더 걸리고 메모리도 더 잡아먹는다.
때로는 요령이 더 낫다.
소수가 아닐 때에는 그대로 출력하고, 소수일 때에는 + 1해서 출력했더니 98%에서 틀렸다. 왜지? 2일때의 예외사항을 처리해도 똑같았다. 왜일까?