Notice
Recent Posts
Recent Comments
Link
- Today
- Total
Archives
Tags
- 게임 맵 최단거리 #자바 #JAVA #프로그래머스
- 문자열 다루기 기본 #자바 #JAVA
- IntelliJ #인텔리제이 #교육용
- 자바 #프로그래머스 #JAVA #다음 큰 숫자
- JAVA #백준
- 자바 #JAVA #프로그래머스 #정수 내림차순으로 배치하기
- 데이터베이스 #DB #데이터 #정의 #기본
- JAVA #자바 #프로그래머스 #숫자의 표현
- 스프링 #의존성 주입 #DI
- JAVA #자바 #프로그래머스 #나머지가 1이되는 수
- Java
- 나누어 떨어지는 숫자 배열 #자바 #JAVA #프로그래머스
- 백준 #자바
- JAVA #핸드폰 번호 가리기 #프로그래머스 #자바
- JAVA #프로그래머스 #문자열 내림차순으로 배치하기
- Could not resolve all files for configuration
- JAVA #코드업 #기초 100제
- 콜라츠 추측 #자바 #JAVA #프로그래머스
- 빌드 에러
- 프로그래머스
- JAVA #프로그래머스
- 백준 #JAVA #자바
- 최대값과 최솟값
- 최대값과 최솟값 #자바 #JAVA
- SW공학
- 자바 #프로그래머스 #JAVA #최솟값 만들기 #코딩테스트
- servlet
- JAVA #프로그래머스 #약수의 개수와 덧셈
- JAVA #자바 #프로그래머스 #두 정수 사이의 합
- JAVA #자바 #프로그래머스 #서울에서 김서방 찾기
MOMONOTE
(JAVA) 키패드 누르기 본문
class Solution {
public static String solution(int[] numbers, String hand) {
StringBuilder sb = new StringBuilder();
int left=10;
int right=12;
for(int i=0;i<numbers.length;i++) {
if(numbers[i]==1 || numbers[i]==4 || numbers[i]==7) {
sb.append("L");
left = numbers[i];
} else if(numbers[i]==3 || numbers[i]==6 || numbers[i]==9) {
sb.append("R");
right = numbers[i];
} else {
int leftLength = lengthCal(left, numbers[i]);
int rightLength = lengthCal(right, numbers[i]);
if(leftLength > rightLength) {
sb.append("R");
right = numbers[i];
} else if(leftLength < rightLength) {
sb.append("L");
left = numbers[i];
} else {
if(hand.equals("right")) {
sb.append("R");
right = numbers[i];
} else {
sb.append("L");
left = numbers[i];
}
}
}
}
return sb.toString();
}//main()
public static int lengthCal(int hand, int number) {
if(hand==0){
hand=11;
}
if(number==0){
number=11;
}
int handX=(hand-1)/3; int handY=(hand-1)%3;
int numberX=number/3; int numberY=1;
return Math.abs(handX-numberX) + Math.abs(handY-numberY);
}
}
- numbers배열의 숫자가 1,4,7인경우 StringBuilder에 'L' 추가 3,6,9 인 경우 StringBuilder에 'R' 추가
- 2,5,8, 인경우 현재 왼손과 오른손의 위치에 따라 거리를 계산하고(lengthCal) 거리가 짧은 손을 추가 .
- 거리가 같다면 오른손잡이, 왼손잡이 경우에 따라 R,L을 알맞게 StringBuilder에 추가 (hand의 여부)
'알고리즘, 코딩테스트 > (JAVA)프로그래머스' 카테고리의 다른 글
(JAVA) 프로그래머스 위장 (해시) (0) | 2021.03.29 |
---|---|
(JAVA) 전화번호 목록 (해시) (0) | 2021.03.21 |
(JAVA) 폰켓몬 (0) | 2021.03.12 |
(JAVA) 신규 아이디 추천 (0) | 2021.03.12 |
(JAVA) 프로그래머스 더 맵게 (Heap) (0) | 2021.01.18 |
Comments