Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- IntelliJ
- 스프링
- Java
- JPA
- kotlin
- 함수
- 오라클
- error
- db
- 방법
- 프로그래머스
- Eclipse
- Vue
- 코틀린
- JavaScript
- 자바
- Git
- 쿼리
- 에러
- aws
- 넥사크로
- 시큐리티
- GitHub
- jquery
- Security
- 알고리즘
- 생성
- oracle
- mybatis
- Spring
Archives
- Today
- Total
송민준의 개발노트
프로그래머스 조이스틱 본문
programmers.co.kr/learn/courses/30/lessons/42860
------------------------
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 |