JadenCase๋ ๋ชจ๋ ๋จ์ด์ ์ฒซ ๋ฌธ์๊ฐ ๋๋ฌธ์์ด๊ณ , ๊ทธ ์ธ์ ์ํ๋ฒณ์ ์๋ฌธ์์ธ ๋ฌธ์์ด์ ๋๋ค. ๋จ, ์ฒซ ๋ฌธ์๊ฐ ์ํ๋ฒณ์ด ์๋ ๋์๋ ์ด์ด์ง๋ ์ํ๋ฒณ์ ์๋ฌธ์๋ก ์ฐ๋ฉด ๋ฉ๋๋ค. (์ฒซ ๋ฒ์งธ ์ ์ถ๋ ฅ ์ ์ฐธ๊ณ )
๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ก์ ๋, s๋ฅผ JadenCase๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
s | return |
---|---|
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
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();
}
}
<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>