did_story
[ํ๋ก๊ทธ๋๋จธ์ค / JAVA] JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค / JAVA] JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ
์ด์ ์์ 2025. 7. 10. 22:38
๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/12951
1. ๋ฌธ์ ํ์
- s๋ ๊ธธ์ด 1 ์ด์ 200 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค.
- s๋ ์ํ๋ฒณ๊ณผ ์ซ์, ๊ณต๋ฐฑ๋ฌธ์(" ")๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ซ์๋ ๋จ์ด์ ์ฒซ ๋ฌธ์๋ก๋ง ๋์ต๋๋ค.
- ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด๋ ์์ต๋๋ค.
- ๊ณต๋ฐฑ๋ฌธ์๊ฐ ์ฐ์ํด์ ๋์ฌ ์ ์์ต๋๋ค.
2. ํ์ด ์๊ณ ๋ฆฌ์ฆ
1) ๋ฌธ์์ด์ ๋ฌธ์(char) ๋ฐฐ์ด๋ก ๋ณํํ์ฌ ํ ๊ธ์์ฉ ํ์ํฉ๋๋ค.
2) String ๋ฐฐ์ด์ ํ์ํ๋ฉด์, ์์ ๋น์นธ์ด ์์ ์ ๋จ์ด์ ์์์์น๋ผ๊ณ ํ๋จ.
- ๋จ์ด์ ์์ ๋ฌธ์์ผ ๊ฒฝ์ฐ: Character.toUpperCase(c)๋ก ๋๋ฌธ์ ๋ณํ
- ๋จ์ด์ ์ค๊ฐ ๋ฌธ์์ผ ๊ฒฝ์ฐ: Character.toLowerCase(c)๋ก ์๋ฌธ์ ๋ณํ
- ์๊ฐ ๋ณต์ก๋: O(N)
3. ์ ๋ต ์ฝ๋
// 1 : 2050-2104
class Solution {
public String solution(String s) {
StringBuilder sb = new StringBuilder();
boolean isStart = true;
for (char c : s.toCharArray()) {
if (c == ' ') {
sb.append(c);
isStart = true;
} else {
if (isStart) {
sb.append(Character.toUpperCase(c));
isStart = false;
} else {
sb.append(Character.toLowerCase(c));
}
}
}
return sb.toString();
}
}
// 2. ์ง์ง ๋๋ํ ์ฌ๋๋ค์ Short ์ฝ๋๋ฅผ ํ๋ฒ ๋ค์ ๋ง๋ค์ด ๋ณด์๋ค.
class Solution {
public String solution(String s) {
String answer = "";
String[] sp = s.toLowerCase().split("");
boolean isBlank = true;
for (String ss : sp){
answer += isBlank ? ss.toUpperCase() : ss;
isBlank = ss.equals(" ") ? true : false;
}
return answer;
}
}
4. ๋ง์น๋ฉฐ.
์ด๋ฒ ๋ฌธ์ ๋ ์ฒ์ ๋ฌธ์ ์ค๋ช ์ ์ฝ์๋ง์, ๋ฌธ์์ด์ ๋ฌธ์ ๋จ์๋ก ํ์ํ๋ฉด์ ๋จ์ด์ ์์์ ํ๋จํ๋ ๋ฐฉ์์ด ๋ ์ฌ๋์ต๋๋ค. ํนํ ๊ณต๋ฐฑ์ด ์ฐ์์ผ๋ก ๋ฑ์ฅํ ์ ์๋ค๋ ์ ์์, ๋จ์ํ split์ผ๋ก ๋๋๋ ๋ฐฉ์๋ณด๋ค๋ ๋ฌธ์ ํ๋ํ๋๋ฅผ ์ง์ ํ์ํ๋ฉด์ ์ฒ๋ฆฌํ๋ ๊ฒ ๋ ์ ์ ํ๋ค๊ณ ํ๋จํ์ต๋๋ค. ๋ํ ์ซ์๋ ๋์๋ฌธ์ ๋ณํ์ ์ํฅ์ ๋ฐ์ง ์๊ธฐ ๋๋ฌธ์ ๋ณ๋ ์์ธ ์ฒ๋ฆฌ๊ฐ ํ์ํ์ง ์์๋ค๋ ๊ฒ์ ์๊ณ ์์๊ธฐ์ ์ ์ ํ ๋ฉ์๋ ์ฌ์ฉ์ ํ๋ค๊ณ ์๊ฐํ๋น๋ค. ๋ฌธ์์ด ์กฐํฉ์๋ ์ฑ๋ฅ์ ๊ณ ๋ คํด์ StringBuilder๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๋ฌธ์์ด ๋ง์ (+)๋ณด๋ค ํจ์ฌ ํจ์จ์ ์ด๋๊น์. ๊ฐ์ธ์ ์ผ๋ก๋ ์ด๋ฐ ๋ฌธ์์ด ํ์ ๋ฌธ์ ๋ฅผ ํ ๋, ๋จ์ split ๋ฐฉ์์ ์์กดํ์ง ์๊ณ ๋ฌธ์ ๋จ์๋ก ์ง์ ์ฒ๋ฆฌํ๋ ์ต๊ด์ด ์ค์ํ ๊ฒ ๊ฐ์์. ๋ฌธ์ ์กฐ๊ฑด์ ์ ํํ ์ดํดํ๊ณ ๋๋ฉด ์คํ๋ ค ๋ ๋จ์ํ๊ฒ ํ ์ ์๋ ๋ฌธ์ ์์ต๋๋ค.
'Algorithm๐ > ํ๋ก๊ทธ๋๋จธ์ค(Programmers)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ํ๋ก๊ทธ๋๋จธ์ค / JAVA] ๋๋๊ณผ ๋ง๋ ๊ทธ๋ํ. (0) | 2025.09.30 |
|---|---|
| [ํ๋ก๊ทธ๋๋จธ์ค / Java] ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ (0) | 2025.09.29 |
| [ํ๋ก๊ทธ๋๋จธ์ค / ์๋ฐ] ๊ณต์์ฐ์ฑ (0) | 2025.09.12 |
| [ํ๋ก๊ทธ๋๋จธ์ค / JAVA ] ์คํจ์จ (2) | 2025.07.09 |
| [ํ๋ก๊ทธ๋๋จธ์ค / JAVA] ๋์ถฉ ๋ง๋ ์ํ (3) | 2025.07.07 |