๊ธฐ๋ก๋ฐฉ

Lv.2 : JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ

Soom_1n 2023. 9. 5. 22:48

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

 

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

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

programmers.co.kr



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

  • ๋ฌธ์ž์—ด s๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, ๋‹จ์–ด์˜ ์ฒซ ๋ฌธ์ž๊ฐ€ ๋Œ€๋ฌธ์ž์ด๊ณ  ๊ทธ ์™ธ์˜ ๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ๋งŒ๋“ค์–ด ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • ๋ฌธ์ž์—ด s์˜ ๋ชจ๋“  ์•ŒํŒŒ๋ฒณ์„ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
  • ๊ณต๋ฐฑ ์งํ›„์˜ ์•ŒํŒŒ๋ฒณ๋งŒ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

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

class Solution {
    public String solution(String s) {
        String answer = "";
        boolean flag = true;
        char c;
        
        s = s.toLowerCase();
        
        for(int i = 0; i < s.length(); i++) {
            c = s.charAt(i);
            if(c == ' ') flag = true;
            else if(flag && c >= 'a' && c <= 'z'){
                c -= 32;
                flag = false;
            }
            else {
                flag = false;
            }
            answer += c;
        }
        
        return answer;
    }
}

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

  • toLowerCase()๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๋ฌธ์ž์—ด s์˜ ์•ŒํŒŒ๋ฒณ์˜ฌ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์น˜ํ™˜ํ•œ๋‹ค.
  • ๋ฌธ์ž์—ด s์˜ ๋ฌธ์ž๋“ค์„ ํ•˜๋‚˜์”ฉ ๊ฒ€์‚ฌํ•ด answer์— ์ €์žฅํ•œ๋‹ค.
    • ๊ณต๋ฐฑ์ด ๋‚˜์˜ค๋ฉด flag๋ฅผ true๋กœ ๋ฐ”๊พผ๋‹ค.
    • ์•ŒํŒŒ๋ฒณ์ด ๋‚˜์™”๋Š”๋ฐ flag๊ฐ€ true์ด๋ฉด, ๊ณต๋ฐฑ ์งํ›„์˜ ์•ŒํŒŒ๋ฒณ์ด๋ฏ€๋กœ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  flag๋Š” false๋กœ ๋ฐ”๊พผ๋‹ค.
    • ๊ทธ ์™ธ์—๋Š” flag๋ฅผ false๋กœ ๋ฐ”๊พผ๋‹ค.
  • answer๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ๋‹ค๋ฅธ ํ’€์ด๋ฅผ๋ณด๋‹ˆ split()์„ ํ†ตํ•ด ๋ฌธ์ž์—ด๋กœ ๋‚˜๋ˆˆ ํ›„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
    • chatAt() ๋ฉ”์„œ๋“œ๊ฐ€ ์•ž์—์„œ๋ถ€ํ„ฐ ํ•ด๋‹น ์ธ๋ฑ์Šค๋กœ ์ด๋™ํ•ด์•ผํ•˜๋Š” ๋ฐ˜๋ณต ์ž‘์—…์ด ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์—, ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด split()์œผ๋กœ ๊ฒ€์‚ฌํ•˜๋Š”๊ฒŒ ๋” ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
    • ์ •๊ทœํ‘œํ˜„์‹์„ํ†ตํ•ด, ๊ณต๋ฐฑ์ดํ›„์˜ ๋ฌธ์ž๋ฅผ ํŒ๋‹จํ•˜๊ณ , ๋งจ ์•ž๋งŒ toUpperCase(), ๊ทธ ํ›„๋Š” toLowerCase()๋กœ ๋ฎ์–ด๋ฒ„๋ฆฌ๋Š” ๋ฐฉ์‹๋„ ๋ณด์•˜๋Š”๋ฐ ์ •๊ทœํ‘œํ˜„์‹์„ ์ž˜ ์“ฐ๋ฉด ๋ฉ‹์žˆ์ง€๋งŒ ์ดํ•ดํ•˜๊ธด ํ™•์‹คํžˆ ํž˜๋“  ์ฝ”๋“œ๊ฐ€ ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

728x90