inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 303. 대충 만든 자판

    프로그래머스 (160586)
    Stupefyee's avatar
    Stupefyee
    Jun 05, 2025
    [JAVA 문제 풀이] 303. 대충 만든 자판
    Contents
    내가 작성한 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/160586
    notion image
     

    내가 작성한 코드

    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
    Contents
    내가 작성한 코드

    stupefyee

    RSS·Powered by Inblog