문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
distinct string은 배열에서 오직 하나만 존재하는 문자열이다.
문자열 배열 arr, 정수 k가 주어졌을 때, arr에서 k번째 나타나는 distinct string을 반환해라. 서로 다른 문자열의 개수가 k개 미만이면 빈 문자열 ""을 반환해라.
#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: ""
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;
}
}