-
프로그래머스 - 대충 만든 자판알고리즘 2024. 5. 7. 19:08
class Solution { public int[] solution(String[] keymap, String[] targets) { int[] answer = new int[targets.length]; for(int i = 0; i < targets.length; i++) { int sum = 0; // 누른 수 boolean check = false; // target의 단어가 keymap에 존재하는지 체크 for(char c : targets[i].toCharArray()) { int min = 101; // 각 targt의 char마다 최소 누른 수 for(String key : keymap) { for(int j = 0; j < key.length(); j++) { if(c == key.charAt(j)) { min = Math.min(min, j + 1); // j는 0 , 클릭은 1부터 시작 break; } } } if(min == 101) check = true; sum += min; } if(check) answer[i] = -1; else answer[i] = sum; } return answer; } }
각 targes에서 각 문자열의 문자를 구하고, keymap에서 배열의 원소마다 비교하여 charAt을 이용해 최소 클릭 횟수를 구하여 sum에 더해 키를 누른 횟수를 구했습니다.
만약 문자가 keymap에 포함되어 있지않다면 -1를 반환해야하므로, boolean 타입을 이용하여 체크해 이를 확인했습니다.
'알고리즘' 카테고리의 다른 글
프로그래머스 - 크레인 인형 (0) 2024.05.07 프로그래머스 - 둘만의 암호 (0) 2024.05.07 프로그래머스 - 숫자 짝꿍 (1) 2024.05.06 프로그래머스 - 완주하지 못한 선수 (0) 2024.05.02 프로그래머스 - 로또의 최고 순위와 최저 순위 (0) 2024.05.02