코린이의 소소한 공부노트

[LeetCode/Easy] 2053. Kth Distinct String in an Array 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2053. Kth Distinct String in an Array

무지맘 2023. 4. 26. 01:04

1. Input

1) String[] arr

2) int k

 

2. Output

1) arr의 중복되지 않은 요소들 중 k번째를 반환

- 그런 문자열이 없다면 빈 문자열을 반환

 

3. Constraint

1) 1 <= k <= arr.length <= 1000

2) 1 <= arr[i].length <= 5

3) arr[i]는 영어 소문자로 이루어져 있다.

 

4. Example

Input: arr = ["d","b","c","b","c","a"], k = 2 -> Output: "a"

설명: arr의 요소 중 중복되지 않은 요소들은 ["d","a"]이며, 이 중 2번째는 a이므로 a를 반환한다.

 

5. Code

1) 첫 코드(2023/04/26)

class Solution {
    public String kthDistinct(String[] arr, int k) {
        String answer = "";
        HashMap<String,Integer> map = new HashMap<>();
        for(String s : arr)
            map.put(s, map.getOrDefault(s,0)+1);
        for(String s : arr){
            if(map.get(s)==1) k--;
            if(k==0){
                answer = s; break;
            }
        }
        return answer;
    }
}