@raikoin님, 지우시긴 했지만 제가 그 글을 보고 놓친 것을 깨달아서 적어봅니다.
불필요한 키를 누르지 않으며라고 되어 있기는 했지만 키 개수의 차가 1일 경우에는 왼손으로 한 번 더 누른다고 되어 있어서 '다 누른 후를 기준'이라고 생각한 게 맞습니다. 이는 문제에서 표현을 바꿔줘야 하겠네요.
키 개수의 차가 발생할 경우, 가능하다면 왼손으로 더 많이 누르도록 한다고 써야 될 것 같습니다. 왜냐하면 키 개수의 차가 1이지만 공백이 존재하지 않는 경우가 발생하면 다시 모순이 되기 때문입니다. 말이 되는 문장은 아니지만 조건에는 어긋나는 문장을 같이 적어봤습니다.


adfsfsf 6일 전
건덕이가 연습하는 타자법은 QWERTY 자판 배열을 기준으로 Y, G, B와 같거나 왼쪽에 있는 키는 왼손으로, 나머지 키는 오른손으로 누르는 타자 기법이다.
본문에는 위와 같이 적혀 있습니다. 즉, 왼손에 해당하는 자판은 아래와 같습니다.
['q', 'w', 'e', 'r', 't', 'y', 'a', 's', 'd', 'f', 'g', 'z', 'x', 'c', 'v', 'b']
또한 조건에서 '양손의 키를 누른 횟수의 차를 최소로 하도록 문장을 입력'한다고 되어 있었습니다.
shift를 누른 횟수는 sf, space를 누른 횟수는 sp, 왼손 알파벳은 l, 오른손 알파벳은 r이라 하겠습니다.
우선 sf는 'H', 'W'에서 2입니다.
sp는 1입니다.
l은 'e', 'W', 'r', 'd'의 4입니다.
r은 'H', 'l', 'l', 'o', 'o', 'l'의 6입니다.
여기서, 문제에서 없으니 'shift를 누르는 손과 알파벳을 누르는 손이 같아도 된다'라고 가정을 할 때, 그리고 '무조건 반대여야 한다'고 가정을 할 때 모두 관계 없이 정답은 동일하게 됩니다.
'W'가 왼손, 'H'가 오른손 알파벳이기 때문에 만약 서로 교차로 눌러야 한다면 l과 r이 각각 1씩 증가하여 5, 7이 됩니다. 이 경우 sp는 왼손으로 할당하면 6, 7이 되고, 1 차이가 나기 때문에 왼손에 1을 늘려 7, 7이 됩니다.
만약 반대가 가능하다고 해보겠습니다. 공유키가 총 3번 있는 셈이고, 그러면 우선 2 차이를 메우기 위해 l을 2 늘려 6, 6으로 만듭니다. 이제 남은 공유키를 어느 손에 넣든 양손의 차이는 1이 됩니다. 그렇기에 결과적으로 l은 1회 증가합니다. 이는 아래와 같이 출력 조건으로 명시되어 있기 때문입니다.
건덕이는 왼손잡이이기 때문에, 각 손이 눌러야 하는 키 개수의 차가 1일 경우에는 왼손으로 한 번 더 누른다.
즉, 기본적으로는 7, 6입니다. 이때 '최대한 효율적'으로 만들기 위해서는 공유키를 어느 손으로 눌러야 할까요? 당연히 오른손이 될 것입니다. 이 결과는 이전의 'shift를 누르는 손은 항상 알파벳과 반대'라고 가정한 경우와 같은 답이 나옵니다.
즉, 예제 2의 정답은 '7 7'이 됩니다.