Contents
내가 작성한 코드
내가 작성한 코드
import java.util.*;
class Solution {
public int[] solution(String[] keymap, String[] targets) {
int[] answer = new int[targets.length];
Map<Character, Integer> keyMap = new HashMap<>(); // 각 문자 최소 입력 횟수 저장할 맵
// 각 문자 최소 입력 횟수 계산
for (String keys : keymap) {
for (int i = 0; i < keys.length(); i++) {
char key = keys.charAt(i);
keyMap.put(key, Math.min(keyMap.getOrDefault(key, Integer.MAX_VALUE), i + 1));
}
}
// 각 target 문자열에 대해 최소 입력 횟수 계산
for (int i = 0; i < targets.length; i++) {
String target = targets[i];
int sum = 0;
// target 문자열의 각 문자에 대해 최소 입력 횟수 합산
for (char c : target.toCharArray()) {
if (keyMap.containsKey(c)) {
sum += keyMap.get(c);
} else {
sum = -1; // 해당 문자가 키맵에 없으면 -1
break;
}
}
answer[i] = sum;
}
return answer;
}
}
Share article