코린이의 소소한 공부노트

[LeetCode/Easy] 2283. Check if Number Has Equal Digit Count and Digit Value 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2283. Check if Number Has Equal Digit Count and Digit Value

무지맘 2023. 1. 16. 01:18

1. Input

1) String num

 

2. Output

1) [0, num.length)에 있는 모든 i에 대해서 inum[i]번 나타나면 true, 아니면 false를 반환

 

3. Constraint

1) 1 <= num.length <= 10

2) num은 숫자로 이루어져 있다.

 

4. Example

Input: num = "1210" -> Output: true

설명:

- 0번째 숫자: 1 -> 01번 나타났나? -> O

- 1번째 숫자: 2 -> 12번 나타났나? -> O

- 2번째 숫자: 1 -> 21번 나타났나? -> O

- 3번째 숫자: 0 -> 30번 나타났나? -> O

- 모든 경우가 맞으므로 true를 반환한다.

 

5. Code

1) 첫 코드(2022/08/04)

int[] d = new int[num.length()];

for(int i=0 ; i<num.length() ; i++){
    int c = num.charAt(i)-'0';
    if(c>=num.length())
        return false;
    d[c]++;
}

for(int i=0 ; i<num.length() ; i++){
    if(d[i]!=(num.charAt(i)-'0'))
        return false;
}

return true;