Closed changicho closed 4 years ago
링크
이름은 최대 20자 이다. 이름의 각 자리로 이동하는 데 한번에 최대 20번 이동해야 하므로,
20^2 번 만큼 이동할 수 있다.
알파벳의 이동은 'Z'-'A' 번 만큼 이동하지만, 이는 ASCII 계산으로 측정할 수 있다.
수의 범위가 int를 벗어나지 않는다.
지금 인덱스의 다음 문자를 next로 두고 name.length() 보다 작고 A인 경우에는 계속 오른쪽으로 이동한다. (next++)
그리고 turn (초기값 : 최대이동횟수) 를 두고 min값을 비교하면 된다.
i + n - next : 왼쪽으로 돌아갔을 때 A가 아닌 것을 만날 때까지 이동한 횟수
min ( i , n-next) : 현재 진행 인덱스와 뒤에서 가장 가까운 A가 아닌 인덱스 중 어떤 것이 더 적은지 비교한다.
turn = min(turn, i + size - next + min(i, size - next));
42860. 조이스틱
링크
설계
시간 복잡도
이름은 최대 20자 이다. 이름의 각 자리로 이동하는 데 한번에 최대 20번 이동해야 하므로,
20^2 번 만큼 이동할 수 있다.
알파벳의 이동은 'Z'-'A' 번 만큼 이동하지만, 이는 ASCII 계산으로 측정할 수 있다.
공간 복잡도
수의 범위가 int를 벗어나지 않는다.
탐욕 알고리즘
지금 인덱스의 다음 문자를 next로 두고 name.length() 보다 작고 A인 경우에는 계속 오른쪽으로 이동한다. (next++)
그리고 turn (초기값 : 최대이동횟수) 를 두고 min값을 비교하면 된다.
i + n - next : 왼쪽으로 돌아갔을 때 A가 아닌 것을 만날 때까지 이동한 횟수
min ( i , n-next) : 현재 진행 인덱스와 뒤에서 가장 가까운 A가 아닌 인덱스 중 어떤 것이 더 적은지 비교한다.
고생한 점