일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- gradle
- aop
- java version
- Java
- 트랜잭션
- Spring AOP
- 빌드
- GIT
- VUE
- git push
- Vue.js
- 개발자
- axios
- 프론트엔드
- 비동기통신
- github
- transaction
- docker
- 자바 버전
- fetch
- PathVariable
- RequestBody
- vue life cycle
- maven
- RequestParam
- 백엔드
- 도커
Archives
- Today
- Total
미소의 세상
[알고리즘] 키패드 누르기 본문
https://programmers.co.kr/learn/courses/30/lessons/67256
import java.util.*;
class Solution {
public static double distance(int[] now, int mokpyo[])
{
return (double)Math.sqrt(Math.abs(now[0]-mokpyo[0])+Math.abs(now[1]-mokpyo[1]));
}
public String solution(int[] numbers, String hand) {
String answer = "";
int japi = hand=="right"?1:0;
int[][] keyboard = new int[][]{{1,2,3},{4,5,6},{7,8,9},{0,0,0}};
int[] rightH = new int[]{3,2};
int[] leftH = new int[]{3,0};
int[] now = new int[2];
int temp = 0;
for(int i=0; i<numbers.length; i++)
{
temp = numbers[i];
if(temp==1 || temp==4 || temp==7)
{
for(int j=0; j<3; j++)
{
if(temp==keyboard[j][0])
{
answer += "L";
leftH[0] = j;
leftH[1] = 0;
now[0] = j;
now[1] = 0;
break;
}
}
}
else if(temp==3 || temp==6 || temp==9)
{
for(int j=0; j<3; j++)
{
if(temp==keyboard[j][2])
{
answer += "R";
rightH[0] = j;
rightH[1] = 2;
now[0] = j;
now[1] = 2;
break;
}
}
}
else
{
for(int j=0; j<4; j++)
{
if(temp==keyboard[j][1])
{
now[0] = j;
now[1] = 1;
if(distance(now, leftH)>distance(now, rightH))
{
answer += "R";
rightH[0] = j;
rightH[1] = 1;
}
else if(distance(now, leftH)<distance(now, rightH))
{
answer += "L";
leftH[0] = j;
leftH[1] = 1;
}
else
{
if(japi==0)
{
answer += "L";
leftH[0] = j;
leftH[1] = 1;
}
else
{
answer += "R";
rightH[0] = j;
rightH[1] = 1;
}
}
break;
}
}
}
}
return answer;
}
}
'알고리즘 > 알고리즘 풀이' 카테고리의 다른 글
[알고리즘] 신고 결과 받기 (0) | 2022.04.20 |
---|---|
[알고리즘] 완주하지 못한 선수 (0) | 2022.03.14 |
[알고리즘] 나누어 떨어지는 숫자 배열 (0) | 2022.03.10 |
[알고리즘] 타겟넘버 (0) | 2022.03.06 |
[알고리즘] 정렬-K번째수 (0) | 2022.02.28 |
Comments