Java/Programmers
[Lv.1]가장 가까운 같은 글자
GLOWWW
2023. 1. 27. 18:20
이 문제는 HashMap의 개념만 알고 있으면 쉬운 문제이다.
Map 컬렉션에서 키는 중복저장될 수 없다는것을 이용한다. 동일한 키로 저장이되면 기존의 값은 없어지로 새로운 값으로 대치되는데 이것을 이용하여 문제를 풀면 된다.
package Lv_1;
import java.util.Arrays;
import java.util.HashMap;
public class 가장가까운같은글자 {
public static int[] solution(String s) {
int[] answer = new int[s.length()];
HashMap<Character, Integer> chk = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
if (!chk.containsKey(s.charAt(i))) {
answer[i] = -1;
} else {
answer[i] = i - chk.get(s.charAt(i));
}
chk.put(s.charAt(i), i);
}
return answer;
}
public static void main(String[] args) {
String s = "banana";
int[] result = solution(s);
System.out.println(Arrays.toString(result));
}
}
하지만 HashMap을 떠올리지 못했었다.. HashMap을 다시한번 복습하자!