728x90
i와 res값을 long으로 선언하지 않고 int로 선언하여
시간초과가 떴습니다.
왜 시간초과인지는 이해 안 되지만
int에서 long으로 바꿔줍니다.
그 다음 logic은 '초과값 넘기기전의 i값인가?'
생각하며 '설마 이렇게 쉬운 것이 정답일까?'했던 것이
정답이었습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner (System.in); long a = Long.parseLong(sc.nextLine()); long i=1,res=0; while(true) { if(res+i<=a) res+=i++; else break; } System.out.println(i-1); } } |
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[백준][Java] 1764번 듣보잡 (0) | 2018.05.16 |
---|---|
[백준][Java] 2960번 에라토스테네스의 체 (0) | 2018.05.16 |
[백준][Java] 10798번 세로읽기 (0) | 2018.05.16 |
[백준][Java] 3053번 택시 기하학 (0) | 2018.05.10 |
[백준][Java] 10886번 0 = not cute / 1 = cute (0) | 2018.05.10 |