반응형
https://school.programmers.co.kr/learn/courses/30/lessons/67256
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr




class Solution { public String solution(int[] numbers, String hand) { String answer = ""; // 초기 엄지손가락 위치 설정 *(0,3), #(2,3) int lx = 0; int ly = 3; int rx = 2; int ry = 3; for (int i=0; i<numbers.length; i++) { switch (numbers[i]) { // 왼쪽 엄지손가락 case 1, 4, 7: answer += "L"; lx = 0; ly = numbers[i] / 3; break; // 오른쪽 엄지손가락 case 3, 6, 9: answer += "R"; rx = 2; ry = (numbers[i] / 3) - 1; break; case 0, 2, 5, 8: int x = 1; int y = 0; if (numbers[i] == 0) { y = 3; } else { y = numbers[i] / 3; } int chklx = Math.abs(lx - x); int chkly = Math.abs(ly - y); int chkrx = Math.abs(rx - x); int chkry = Math.abs(ry - y); // 왼쪽 엄지손가락이 더 가까움 if (chklx + chkly < chkrx + chkry) { answer += "L"; lx = x; ly = y; // 오른쪽 엄지손가락이 더 가까움 } else if (chklx + chkly > chkrx + chkry) { answer += "R"; rx = x; ry = y; } else if (chklx + chkly == chkrx + chkry) { if (hand.equals("right")) { answer += "R"; rx = x; ry = y; } else { answer += "L"; lx = x; ly = y; } } break; } } return answer; } }
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]JAVA - Level 2. 문자열 압축 (0) | 2022.04.17 |
---|---|
[프로그래머스]JAVA - Level 2. 오픈채팅방 (0) | 2022.04.11 |
[프로그래머스]JAVA - Level 1. 완주하지 못한 선수 (0) | 2022.04.08 |
[프로그래머스]JAVA - Level 1. 비밀지도 (0) | 2022.04.07 |
[프로그래머스]JAVA - Level 1. K번째 수 (0) | 2022.04.06 |