지금 새로 바꾼 노트북에 아직 우분투를 안 깔아서 설치하는 중인데, 일단 로직으로 설명을 해 보자면요,
예를 들어 2^30제곱이 B에 들어왔다면, 2^29을 2번 호출할 테고, 각각이 2^28을 2번 호출하니 총 4번 호출되고, 2^27은 8번 호출되고, ... 2^0은 2^30번 호출될 테니 시간 초과가 나는 게 어찌 보면 당연합니다. 그런데도 시간 초과가 안 나는 건, 컴파일러가 뭔가 손을 썼다고 생각되는데, 한 번 테스트를 해보려고 합니다.
alreadyj 6년 전
입력 속도, 출력 속도가 떨어지지 않도록 Scanner를 쓰지 않고 BufferedReader, writer를 사용했어요
아래와 같은 코드를 C++에서 같은 로직으로 작성하였을 시, 무사히 통과하는 모습을 보였습니다.
java에서 TLE가 나는 것은 문제가 있다고 봅니다. 수정 바랍니다