본문 바로가기
Java/Programmers

[Lv.1]가장 가까운 같은 글자

by GLOWWW 2023. 1. 27.

이 문제는 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을 다시한번 복습하자!

'Java > Programmers' 카테고리의 다른 글

[Lv.1]완주하지 못한 선수  (0) 2023.01.30
[Lv.1]다트 게임  (0) 2023.01.28
[Lv.1]실패율  (0) 2023.01.27
[Lv.1]푸드파이트 대회  (0) 2023.01.26
[Lv.1]콜라 문제  (0) 2023.01.25

댓글