Search

대충 만든 자판

알고리즘
연습문제
플랫폼
프로그래머스
JCF
상태
해결
생성 일시
2023/12/23 06:36
최종 편집 일시
2023/12/23 07:19

문제 설명

해결과정

Solution.java

class Solution { public int[] solution(String[] keymap, String[] targets) { int[] answer = new int[targets.length]; int index = 0; // 작성해야하는 문자열 하나 가져오기 for(String target : targets) { // 문자열에서 문자 하나씩 체크하기 for(int i = 0; i < target.length(); i++) { // 눌러야하는 버튼 수의 최소값 문자열의 길이가 100이니 넉넉하게 200준비 int min = 200; // 문자열의 i번째 문자 가져오기 char c = target.charAt(i); // 키패드의 규칙 가져오기 for(String key : keymap) { // 키패드의 규칙의 i번째 문자가 포함되어있는지 확인 if(key.contains(""+c)){ // 이전에 눌러야했던 횟수와 비교해서 더 작은 횟수를 가져오기 min = min < (key.indexOf(c)+1) ? min : (key.indexOf(c)+1); } } // 눌러야 하는 최소값이 초기값과 같다면 없다는 뜻 if(min == 200) { answer[index] = -1; break; } else{ answer[index] += min; } } index++; } return answer; } }
Java
복사