๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
TIL๐Ÿ”ฅ/์ฝ”๋”ฉํ…Œ์ŠคํŠธ

[ํ•ญํ•ด99ํด๋Ÿฝ] Java ๋น„๊ธฐ๋„ˆ_Day 8 Check if Number Has Equal Digit Count and Digit Value

by hk713 2025. 4. 9.

์˜ค๋Š˜์˜ ๋ฌธ์ œ >> https://leetcode.com/problems/check-if-number-has-equal-digit-count-and-digit-value/description/

 

[ ์ƒ๊ฐ ํ๋ฆ„ ]

๋ฌธ์ž์—ด์„ ํ•œ๊ธ€์ž์”ฉ ๋Œ๋ฉด์„œ ๊ฐ๊ฐ์˜ ์ธ๋ฑ์Šค์— ๋งž๋Š” ๊ธฐ์ค€ ์ˆซ์ž๋ฅผ ๊ตฌํ•˜๊ณ ,

์ „์ฒด ๋ฌธ์ž์—ด ๋‚ด์—์„œ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๊ฐ€ ๋ช‡๊ฐœ์ธ์ง€ ์นด์šดํŠธํ•ด์„œ ๋น„๊ตํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ?

 

[ JAVA ] - ๋น„ํšจ์œจ

class Solution {
    public boolean digitCount(String num) {
        for(int i=0; i<num.length(); i++){
            int standNum = num.charAt(i)-'0';
            int finalI = i;
            int trgtNum = (int) num.chars().filter(c -> c==('0'+finalI)).count();
            if(trgtNum != standNum) return false; 
        }
        return true;
    }
}

์ผ๋‹จ ์ด ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด์„œ ๋ฐฐ์šด๊ฑด,

java์—์„  ๋žŒ๋‹ค ํ‘œํ˜„์‹ ๋‚ด๋ถ€์— ์‚ฌ์šฉํ•˜๋Š” ์™ธ๋ถ€ ๋ณ€์ˆ˜๋Š” final์ด์–ด์•ผ ๋œ๋‹ค๋Š” ์กฐ๊ฑด์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค..!

 

๊ทธ๋ฆฌ๊ณ  ์ด ์ฝ”๋“œ๋Š” ์ •๋‹ต์€ ๋งž์ง€๋งŒ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๋น„ํšจ์œจ ๋กœ์ง์ด์—ˆ๋‹ค.(๊ฑฐ์˜ 4์ดˆ๊ฐ€๋Ÿ‰ ์†Œ์š”)

๊ทธ๋ž˜์„œ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ˆ˜์ •ํ–ˆ๋”๋‹ˆ ์‹œ๊ฐ„์ด 0์ดˆ๋Œ€๋กœ ๊ฐœ์„ ๋˜์—ˆ๋‹ค!

 

[ Java ] - ๊ถŒ์žฅ

class Solution {
    public boolean digitCount(String num) {
        int[] count = new int[10];

        for (char c : num.toCharArray()) {
            count[c - '0']++;
        }

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

๋Œ“๊ธ€