๊ธฐ๋ก๋ฐฉ

Lv.1 : ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๋ณธ๋ฌธ

CodingTest/Java

Lv.1 : ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด

Soom_1n 2023. 4. 18. 17:37

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด t์™€ p๊ฐ€ ์žˆ๋‹ค.
    • ๋ฌธ์ž์—ด t์—์„œ ๋ฌธ์ž์—ด p ๊ธธ์ด ๋งŒํผ์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ์ค‘ p๋ณด๋‹ค ์ž‘์€๊ฑฐ๋‚˜ ๊ฐ™์€ ์ˆ˜๋ฅผ ์นด์šดํŠธํ•œ๋‹ค.
  • t์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๊ณผ p๋ฅผ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค.
    • p์˜ ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€ 18์ด๋ฏ€๋กœ long์œผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋Œ€์†Œ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฌธ์ž ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•ด ๋Œ€์†Œ๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

class Solution {
    public int solution(String t, String p) {
        int answer = 0;
        
        int size = p.length();
        char tc, pc;
        
        for(int i = 0; i <= t.length()-size; i++) {
            boolean flag = true;
            for(int j = i, k = 0; j < i+size; j++, k++) {
                tc = t.charAt(j);
                pc = p.charAt(k);
                if (tc > pc) {
                    flag = false;
                    break;
                } else if (tc < pc) {
                    break;
                }
            }
            if(flag) answer++;
        }
        
        return answer;
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€์†Œ๋ฅผ ๋น„๊ตํ–ˆ๋‹ค.
  • t์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๊ฐ€ ๋” ํฐ ๊ฒฝ์šฐ๋Š” p๊ฐ€ ๋” ์ž‘์œผ๋ฏ€๋กœ ์นด์šดํŠธํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ํ™•์ธํ•œ๋‹ค.
  • t์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๊ฐ€ ๋” ์ž‘์€ ๊ฒฝ์šฐ๋Š” p๊ฐ€ ๋” ํฌ๋ฏ€๋กœ ์นด์šดํŠธํ•œ๋‹ค.
  • t์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž์™€ p์˜ ๋ฌธ์ž๊ฐ€ ๊ฐ™์œผ๋ฉด ๋‹ค์Œ ๋ฌธ์ž๋ฅผ ํ™•์ธํ•œ๋‹ค.
    • ๋งˆ์ง€๋ง‰ ๋ฌธ์ž์˜€์œผ๋ฉด ์นด์šดํŠธํ•œ๋‹ค. (๊ฐ’์ด ๊ฐ™์€ ์ˆ˜)

๐Ÿ”ธ end ๐Ÿ”ธ

  • t์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ p๋„ ์ตœ๋Œ€ 10000๊นŒ์ง€ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— long์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†์„ ์ค„ ์•Œ์•˜๋‹ค.
    • ๋‹ค๋ฅธ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ parseLong์„ ๋งŽ์ด ์ผ๊ธธ๋ž˜ ๋‹ค์‹œ ํ™•์ธํ•ด๋ณด๋‹ˆ, p์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 18์ด์—ˆ๋‹ค....
    • ๋ฌธ์ œ๋ฅผ ์ž˜ ์ฝ์ž.

728x90