두 번째 코드에서는 arr[1]에 1이 들어가는데, 1은 아무 연산을 하지 않아도 1입니다.
1463번 - 1로 만들기
두 번째 코드에서는 arr[1]에 1이 들어가는데, 1은 아무 연산을 하지 않아도 1입니다.
이 문제에서 입력된 N 값이 1일 경우 출력이 0이어야 정답입니다.
1을 1로 만드는 데 필요한 연산의 횟수는 0이기 때문입니다.
첫 번째 코드는 이를 만족하고, 두 번째 코드는 이를 만족하지 않습니다.
네 제가 코드를 살짝 잘못 봤습니다.
arr을 직접 출력해보니 이렇게 나오네요.
위 코드
0 0 1 1 2 3 2 3 3 2 ...
아래 코드
0 1 2 2 3 4 3 4 4 3 ...
아래 코드에서는 배열을 한 칸씩 왼쪽으로 밀어서 채웠는데
for문은 위 코드랑 똑같으니까 값이 제대로 들어가지 않는 거죠.
댓글을 작성하려면 로그인해야 합니다.
seroak 2년 전
DP공부하기위해 푼 문제입니다
두가지 코드의 차이점은 시작점을 하나는 0에서 하나는 1에서 시작했다는 차이점 밖에 없는데 왜 시작점을 0에서 시작한 코드는 틀렸다고 나오고 시작점을 1에서 시작한 코드는 맞았다고 나오는 것인가요?