매일 조금씩

프로그래머스 level1 : 대충 만든 자판 - JAVA 본문

알고리즘

프로그래머스 level1 : 대충 만든 자판 - JAVA

mezo 2023. 6. 1. 20:15
728x90
반응형

import java.util.*;
import java.util.Map.*;

class Solution {
    public int[] solution(String[] keymap, String[] targets) {
        int[] answer = new int[targets.length];
        // ArrayList<Integer>  answer = new ArrayList<>();
        Map<String, Integer> keynum = new HashMap<>();
        for(String keys : keymap){
            String[] key = keys.split("");
            for(int i = 0; i<key.length; i++){
                if(keynum.containsKey(key[i])){
                    if(keynum.get(key[i]) > i + 1){
                        keynum.replace(key[i], i + 1);
                    }
                } else{
                    keynum.put(key[i], i+1);
                }
            }
        }
        
        for(int i = 0; i<targets.length; i++){
            String[] t = targets[i].split("");
            int sum = 0;
            for(int j = 0; j<t.length; j++){
                if(!keynum.containsKey(t[j])){
                    sum = -1;
                    break;
                }else{
                    sum += keynum.get(t[j]);
                }
                
            }
            // answer.add(sum);
            answer[i] = sum;
        }
        
        // return answer.stream().mapToInt(i -> i).toArray();
        return answer;
    }
}
728x90
반응형