https://school.programmers.co.kr/learn/courses/30/lessons/142086

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


- Java

HashMap Key로 글자를 넣고

인덱스를 확인하며 갱신해주었다.

import java.util.*;
class Solution {
    public int[] solution(String s) {
        HashMap<Character,Integer> aa = new HashMap<>();
        int[] answer = new int[s.length()];
        for(int i=0;i<s.length();i++){
            char k = s.charAt(i);
            if(aa.containsKey(k)){
                answer[i]=i-aa.get(k);
                aa.put(k,i);
            }
            else{
                answer[i]=-1;
                aa.put(k,i);
            }
        }
        return answer;
    }
}

 

- Ruby

def solution(s)
    answer = []
    al = Array.new(26,-1)
    for i in 0..(s.length-1)
        a = s[i].ord-'a'.ord
        if al[a]==-1
            answer.append(-1)
        else
            answer.append(i-al[a])
        end
        
        al[a]=i
    end
    return answer
end

+ Recent posts