강의로 돌아가기
한수빈

테스트 케이스 4, 7번 모르겠어요

public int solution(String name) {
int ans = 0, n = name.length(), p1 = 0, p2 = 0, p3 = 0;
int[] alpha = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,12,11,10,9,8,7,6,5,4,3,2,1};
boolean flag = false;
for (int i=0; i<n; i++) {
char ch = name.charAt(i);
ans += alpha[ch - 'A'];
if (i<n/2 && ch != 'A') p1 = i;

if (!flag && i>=n/2 && ch != 'A') {
p3 = p2 = i;
flag = true;
}

if (flag && i>=n/2 && ch != 'A') p3 = i;
}
return p2 == 0 ? ans + p1 : ans + Math.min(p3, 2*p1 + n-p2);
}

절반 지점을 기준으로 A가 안나오는 포인트를 체크해서
최소한의 커서 이동을 계산했는데 아닌가봐요

0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.