jh05013   5년 전

  1. 1부터 y-x까지 (int i=1; i<y-x; i++) 루프를 돌리면 테스트케이스 하나당 231번 정도의 루프를 돌아야 되는데, 이런 코드는 주어진 시간 내에 돌아갈 수 없습니다. 알고리즘에서 중요한 개념인 "시간복잡도"를 배우면 이런 코드의 시간복잡도가 O(y-x)임을 알 수 있고, 시간 초과가 날 것임을 예측할 수도 있습니다.

2. 입력이 int범위라고 해서 중간 계산 과정이 int를 안 넘는다는 보장은 없습니다. 물론 어떻게 계산하느냐에 따라 다릅니다. 따라서 변수의 타입을 설정할 때는 입출력 크기뿐만 아니라 중간 계산 과정도 고려해 줘야 합니다.

3. 테스트케이스마다 필요한 변수들의 초기화를 했는지 확인하세요.

rlarlgns25   5년 전

예제 감사합니다~

wlgh325   5년 전

0에서 15까지 이동하는데 최소 이동횟수가 6아닌가요?? ㅠㅠ

jh05013   5년 전

6회로 이동할 수 있는 최대 거리는 12입니다.

ove16   5년 전

O(y-x)로 짠 코드가 내꺼구나..............하
5시간동안생각해서짯는데 ㅠ

djm03178   5년 전

O(y-x)라는 표현은 입문자에게 너무 어려운 것 같습니다. 그렇게 짠 코드가 어떤 코드인지에 대한 설명이 있으면 좋을 것 같습니다.

heroinspace   4년 전

테스트 케이스 고맙습니다. ㅎㅎ

pdxh   3년 전

41707 2147483647

이 케이스는 92680이 아니라 92681이어야 하는것 아닌가요??

92680회로 이동할 수 있는 최대거리는 2147441940으로 계산되는데 그렇다면 92681회 이동해야하는 것 같아서요!

jh05013   3년 전

41707과 2147483647 사이 거리도 2147441940입니다.

댓글을 작성하려면 로그인해야 합니다.