https://school.programmers.co.kr/learn/courses/30/lessons/42860

Untitled

Untitled

“JAN” 이라는 입력값을 예시로 들었을 때, 바꿔야 할 문자들의 idx는 0(J) 와 2(N)이다.

  1. A를 J로 바꾸고 나서 A을 N로 바꾸는 경우와 (0번째 문자를 바꾸고 2번째 글자를 바꾸는 경우)
  2. A을 N로 바꾸고 나서 A를 J로 바꾸는 경우가 있다. (2번째 문자를 바꾸고 0번재 글자를 바꾸는 경우)

다만 맨 처음 커서는 0번째 문자에 있다. (문제에는 이 부분을 정확히 명시 해 주지 않아서 너무 아쉬웠다.)

커서를 움직이는 경우의 연산을 moves, 문자를 A에서 바꾸는 연산을 switches라고 하자.

1.의 경우 A를 J로 바꾸는데 9 만큼의 switches연산이 든다.

그런 후 N으로 이동하는데 1만큼의 moves연산이 들고

A를 J로 바꾸는데 13만큼의 switches 연산이 든다.

총 23의 연산이 든다.

2.의 경우 0번째 문자열에서 2번째 문자열로 이동(커서가 0번째 문자에 있으므로)하는데 1의 moves연산