https://school.programmers.co.kr/learn/courses/30/lessons/142086
- 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
'Programmers > Java, Ruby' 카테고리의 다른 글
프로그래머스 Java : 크레인 인형뽑기 게임 (0) | 2022.12.16 |
---|---|
프로그래머스 Java : 키패드 누르기 (0) | 2022.12.12 |
프로그래머스 Java : 완주하지 못한 선수 (0) | 2022.12.09 |
프로그래머스 Java / Ruby : 체육복 (0) | 2022.12.07 |
프로그래머스 Java / Ruby : 푸드 파이트 (0) | 2022.12.05 |