๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿงฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/๐Ÿต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด(Java)

[ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java ] JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ

by carrot0911 2025. 3. 27.

๋ฌธ์ œ ์„ค๋ช…

https://school.programmers.co.kr/learn/courses/30/lessons/12951

 

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

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

JadenCase๋ž€ ๋ชจ๋“  ๋‹จ์–ด์˜ ์ฒซ ๋ฌธ์ž๊ฐ€ ๋Œ€๋ฌธ์ž์ด๊ณ , ๊ทธ ์™ธ์˜ ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋‹จ, ์ฒซ ๋ฌธ์ž๊ฐ€ ์•ŒํŒŒ๋ฒณ์ด ์•„๋‹ ๋•Œ์—๋Š” ์ด์–ด์ง€๋Š” ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž๋กœ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. (์ฒซ ๋ฒˆ์งธ ์ž…์ถœ๋ ฅ ์˜ˆ ์ฐธ๊ณ )
๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, s๋ฅผ JadenCase๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • s๋Š” ๊ธธ์ด 1 ์ด์ƒ 200 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
  • s๋Š” ์•ŒํŒŒ๋ฒณ๊ณผ ์ˆซ์ž, ๊ณต๋ฐฑ๋ฌธ์ž(" ")๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ˆซ์ž๋Š” ๋‹จ์–ด์˜ ์ฒซ ๋ฌธ์ž๋กœ๋งŒ ๋‚˜์˜ต๋‹ˆ๋‹ค.
    • ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋Š” ์—†์Šต๋‹ˆ๋‹ค.
    • ๊ณต๋ฐฑ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

s return
"3people unFollowed me" "3people Unfollowed Me"
"for the last week" "For The Last Week"

 

๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

class Solution {
    public String solution(String s) {
        // ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ
        s = s.toLowerCase();
        
        // ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ์ €์žฅ์„ ์œ„ํ•œ StringBuilder ์ƒ์„ฑ
        StringBuilder sb = new StringBuilder();
        
        // ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž ๋Œ€๋ฌธ์ž๋กœ ์ถ”๊ฐ€
        sb.append(Character.toUpperCase(s.charAt(0)));
        
        // ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž ํ•˜๋‚˜์”ฉ ํ™•์ธ
        for(int i = 1 ; i < s.length() ; i++){
            // ๋งŒ์•ฝ ์ง์ „ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ผ ๊ฒฝ์šฐ
            if (s.charAt(i-1) == ' ') {
                // ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ถ”๊ฐ€
                sb.append(Character.toUpperCase(s.charAt(i)));
            }
            
            // ๋งŒ์•ฝ ์ง์ „ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ด์ง€ ์•Š์„ ๊ฒฝ์šฐ
            if (s.charAt(i-1) != ' ') {
                // ์†Œ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์ถ”๊ฐ€
                sb.append(s.charAt(i));
            }
        }
        
        // ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
        String answer = sb.toString();
        
        // answer ๋ฐ˜ํ™˜
        return answer;
    }
}

๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ์ƒ๊ฐํ•œ ๋ฐฉํ–ฅ

  • ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ธฐ
  • ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ž ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๊ธฐ
  • ํ•„์š”ํ•œ ๋ถ€๋ถ„ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ๋ฌธ์ž ํ•ฉ์น˜๊ธฐ