Notice
Recent Posts
Recent Comments
송민준의 개발노트
프로그래머스 조이스틱 본문
programmers.co.kr/learn/courses/30/lessons/42860
코딩테스트 연습 - 조이스틱
조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다
programmers.co.kr
------------------------
J E R O E N
9 4 9 12 4 13
------------------------
상하는 아스키코드 활용
좌우는
기본 베이스를 좌에서 우로 순차적으로 쭉 가는 것으로 세팅.
탐색하는 인덱스에서 역으로 갔을 경우 Count
-> 기본 베이스와 Count를 Math.min으로 비교해서 최솟값 구함
class Solution {
public int solution(String name) {
int answer = 0;
int len = name.length();
//최솟값 세팅
int minMove = len-1;
for(int i=0; i<len; i++) {
// 상하
answer += Math.min(name.charAt(i)-'A', 'Z'-name.charAt(i)+1);
// 좌우
int next = i+1;// 현재 다음 위치부터
//다음이 A라면 계속 NEXT++
while(next<len && name.charAt(next) == 'A') {
next++;
}
minMove = Math.min(minMove, i + len - next + i);
}
answer += minMove;
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 신규 아이디 추천 (0) | 2022.04.03 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2021.11.02 |
가장 큰 수 (0) | 2021.02.13 |
프로그래머스 HIndex (0) | 2021.02.07 |
프로그래머스 큰 수 만들기 (0) | 2021.02.04 |