[LeetCode] Kth Distinct String in an Array

아르당·2026년 8월 1일

LeetCode

목록 보기
439/579
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

distinct string은 배열에서 오직 하나만 존재하는 문자열이다.
문자열 배열 arr, 정수 k가 주어졌을 때, arr에서 k번째 나타나는 distinct string을 반환해라. 서로 다른 문자열의 개수가 k개 미만이면 빈 문자열 ""을 반환해라.

Example

#1
Input: arr = ["d", "b", "c", "b", "c", "a"], k = 2
Output: "a"
Explanation:
arr에서 distinct string은 "d"와 "a"뿐이다.
"d"는 첫번째로 나타나서, 첫번째 distinct string이다.
"a"는 두번째로 나타나서, 두번째 distinct string이다.
k == 2인 "a"가 반환된다.

#2
Input: arr = ["aaa", "aa", "a"], k = 1
Output: "aaa"
Explanation:
arr에서 모든 문자열이 중복되지 않아서 첫번째 문자열인 "aaa"가 반환된다.

#3
Input: arr = ["a", "b", "a"], k = 3
Output: ""

Constraints

  • 1 <= k <= arr.length <= 1000
  • 1 <= arr[i].length <= 5
  • arr[i]는 영어 소문자로 구성된다.

Solved

class Solution {
    public String kthDistinct(String[] arr, int k) {
        int count = 0;

        for(int i = 0; i < arr.length; i++){
            if(isDistinct(arr, i)){
                count++;

                if(count == k){
                    return arr[i];
                }
            }
        }

        return "";
    }

    private boolean isDistinct(String[] arr, int index){
        for(int i = 0; i < arr.length; i++){
            if(i != index && arr[i].equals(arr[index])){
                return false;
            }
        }

        return true;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글