1. ๋ฌธ์ œ์„ค๋ช…

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

๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, s๋ฅผ JadenCase๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

์ž…์ถœ๋ ฅ ์˜ˆ

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

2. ๋ฌธ์ œ๋ถ„์„(์‚ฌ์ „)

3. JAVA์ฝ”๋“œ

public class Solution {

    // ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LEVEL2 JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ
    // ๋ฌธ์ œ URL : <https://programmers.co.kr/learn/courses/30/lessons/12951>

    public String solution(String s) {
        StringBuffer sb = new StringBuffer();

        // String -> charํ˜• ๋ฐฐ์—ด๋กœ ์ดˆ๊ธฐํ™”
        char[] ch = s.toCharArray();
        boolean prevSpace = false;  // ๋„์–ด์“ฐ๊ธฐ ๋‹ด๋Š” ๋ณ€์ˆ˜

        for (int i = 0; i < ch.length; i++) {
            // ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ด๋ฉด(์ค‘๋ณต๊ณต๋ฐฑ์ด ๋‚˜์˜ฌ ์ˆ˜๊ฐ€ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ฒ˜๋ฆฌ)
            if (Character.isSpaceChar(ch[i])) {
                sb.append(ch[i]);
                prevSpace = true;
            // ์ด์ „ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ด๊ฑฐ๋‚˜ ์ฒ˜์Œ ๋ฌธ์ž์ด๋ฉด ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜
            // ์ˆซ์ž ์ผ ๊ฒฝ์šฐ์—๋„ toUpperCase ์ ์šฉ๊ฐ€๋Šฅ -> ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜
            } else if (prevSpace || i == 0) {
                sb.append(Character.toUpperCase(ch[i]));
                prevSpace = false;
            } else {
                sb.append(Character.toLowerCase(ch[i]));
                prevSpace = false;
            }
        }

        return sb.toString();
    }
}

4. ์ฝ”๋“œํ•ด์„

<aside> <img src="https://raw.githubusercontent.com/eirikmadland/notion-icons/master/v5/icon3/ul-github.svg" alt="https://raw.githubusercontent.com/eirikmadland/notion-icons/master/v5/icon3/ul-github.svg" width="40px" /> ์ฐธ์กฐ Github Code

</aside>