https://school.programmers.co.kr/learn/courses/30/lessons/12951
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
โ๏ธJadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ
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" |
๋ฌธ์ ๋ฅผ ์ฒ์ ์ ํ์ ๋ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋๋ ์ ์ฒซ๊ธ์๋ ๋๋ฌธ์ ๋๋จธ์ง ๊ธ์๋ ์๋ฌธ์๋ก ๋ฐ๊ฟ์ StringBuilder์ ๋ฃ์ด์ ์ถ๋ ฅํ๋ฉด ๋๋ค๊ณ ์๊ฐํ๋ค.
(์ซ์๋ ๊ณต๋ฐฑ์ด๋ toUpperCase()๋ฅผ ํด๋ ์๊ด ์์ผ๋ ์ซ์์ธ์ง ๊ณต๋ฐฑ์ธ์ง ์ํ๋ฒณ์ธ์ง ๊ตฌ๋ถํ์ง ์๊ณ ๋๋ ๋ฌธ์์ด์ ์ฒซ ๊ธ์๋ ๋ชจ๋ ๋๋ฌธ์๋ก ๋ณ๊ฒฝํ๊ณ ์ฒซ๊ธ์๋ฅผ ์ ์ธํ ๋๋จธ์ง ๊ธ์๋ค์ ์๋ฌธ์๋ก ๋ณ๊ฒฝํด์ ์ถ๋ ฅํ๋ คํ๋ค.)
โํ๋ฆฐ ํ์ด
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public class LS_12951_fail {
public static void main(String[] args) {
String s = " 3people unFollowed me ";
System.out.println(solution(s));
}
public static String solution(String s) {
String[] sArr = s.split(" ");
StringBuilder jadenCase = new StringBuilder();
for (int i = 0; i < sArr.length - 1; i++) {
String[] subStirng = sArr[i].split("");
jadenCase.append(subStirng[0].toUpperCase());
for (int y = 1; y < subStirng.length; y++) {
jadenCase.append(subStirng[y].toLowerCase());
}
jadenCase.append(" ");
}
String[] subStirng = sArr[sArr.length - 1].split("");
jadenCase.append(subStirng[0].toUpperCase());
for (int y = 1; y < subStirng.length; y++) {
jadenCase.append(subStirng[y].toLowerCase());
}
return jadenCase.toString();
}
}
|
cs |
ํ์ง๋ง ํ ์คํธ 8๋ฒ์ด ๊ณ์ ํ๋ ธ๋ค๊ณ ๋์จ๋ค.
์ ๋ต์ ํํธ๋ ์ ํ๋ฆฐ ์ฝ๋์ ๋ฌธ์์ด์ ์๋๋ฐ, split() ์ ์จ์ " " ๊ณต๋ฐฑ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๋ฉด me ๋ค์ ๊ณต๋ฐฑ ๋ฌธ์์ด์ด ์ฌ๋ผ์ ธ์ ์ด๋ค.
๋ฌธ์ ์์
3people unFollowed me
์ด๋ ๊ฒ ์ฃผ์ด์ง๋ค๋ฉด ( ๋ฐ์ค์ด ์์ง๋ง ๊ธ์๊ฐ ์๋ ๊ฑด ๊ณต๋ฐฑ์ด๋ค.)
3people Unfollowed Me
์ด๋ ๊ฒ ์ ๋ต์ด ์ถ๋ ฅ๋์ด์ผ ํ๋ค. ์ฆ ์๋ค ๊ณต๋ฐฑ ๋ฐ ๋จ์ด ์ฌ์ด์ฌ์ด์ ์๋ ์ฌ๋ฌ ๊ณต๋ฐฑ๋ค๋ ๋ค ์ถ๋ ฅ ๋์ด์ผํ๋ค.
ํ์ง๋ง ์ ํ๋ฆฐ ์ฝ๋๋ก ์ถ๋ ฅํ๊ฒ ๋๋ฉด ์๋ถ๋ถ์ ๊ณต๋ฐฑ๊น์ง ์ ์ถ๋ ฅ๋์ง๋ง, ๋ค์ me ๋ถ๋ถ ๋ค ๊ณต๋ฐฑ๋ฌธ์์ด์ ์ถ๋ ฅ๋์ง ์๋๋ค.
์คํ๊ฒฐ๊ณผ :
3people Unfollowed Me
์ด๋ ๊ธฐ ๋๋ฌธ์ ํ ์คํธ 8 ๋ฒ์ด ํ๋ฆฐ ๊ฒ์ด๋ค.
๋ฐฉ๋ฒ๋ก ์ ์ผ๋ก ๋ง์ง๋ง ํ๋ฆฐ ํ์ด์๋ค. ์ด๋ป๊ฒ ํ๋ฉด ๊ทธ๋ผ ๋งจ ๋ง์ง๋ง ๋ฌธ์์ด์ ๊ณต๋ฐฑ๋ค ๊น์ง ์ถ๋ ฅํ ์ ์์๊น ์๊ฐํ๋ค๊ฐ StringTokenizer ๋ฅผ ์๊ฐํ๋ค.
โญ๋ง์ ํ์ด(์คํฌ์ฃผ์)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import java.util.StringTokenizer;
public class LS_12951_success {
public static void main(String[] args) {
String s = " 3people unFollowed me ";
System.out.println(solution(s));
}
public static String solution(String s) {
StringTokenizer st = new StringTokenizer(s, " ", true);
StringBuilder jadenCase = new StringBuilder();
while (st.hasMoreTokens()) {
String[] subStirng = st.nextToken().split("");
jadenCase.append(subStirng[0].toUpperCase());
for (int y = 1; y < subStirng.length; y++) {
jadenCase.append(subStirng[y].toLowerCase());
}
}
return jadenCase.toString();
}
}
|
cs |
ํต์ฌ์ ์ฌ๊ธฐ์ ์๋ค.
returnDelims: true
๋ฌธ์์ด์ ์์ฒ๋ผ " " ๊ณต๋ฐฑ๊ธฐ์ค์ผ๋ก ๋๋์ง๋ง ๊ตฌ๋ถ์๋ฅผ ๋ถ๋ฆฌ๋ ๋ฌธ์์ด ํ ํฐ์ ํฌํจ์ํค๋ ๊ฒ์ด๋ค.
ํ๋ฆฐ ํ์ด์ ๋ง์ ํ์ด์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ฐ๋ก ๋ฌธ์์ด์ ํ์ฑํ๋๋ฐ์ split()๊ณผ StringTokenizer ๋ฅผ ์ฌ์ฉํ๋ค๋๋ฐ์ ์๋ค.
๐กsplit()๊ณผ StringTokenizer์ ์ฐจ์ด์
- ๋จผ์ split ๋ฉ์๋๋ Stringํด๋์ค์ ์ํด์๋ ๋ฉ์๋์ด๊ณ , StringTokenizer๋ java.util์ ํฌํจ๋์ด ์๋ ํด๋์ค์ด๋ค.
- ๊ตฌ๋ถ์๋ฅผ split๋ ์ ๊ท ํํ์์ผ๋ก ๊ตฌ๋ถํ๊ณ , StringTokenizer๋ ๋ฌธ์๋ก ๋ฐ๋๋ค.
- split๋ ๊ฒฐ๊ณผ ๊ฐ์ด ๋ฌธ์์ด ๋ฐฐ์ด์ด์ง๋ง, stringtokenizer๋ ๊ฐ์ฒด์ด๋ค.
- split๋ ๋น๋ฌธ์์ด์ ํ ํฐ์ผ๋ก ์ธ์ํ๋ ๋ฐ๋ฉด, StringTokenizer๋ ๋น ๋ฌธ์์ด์ ํ ํฐ์ผ๋ก ์ธ์ํ์ง ์๋๋ค.
๋๊ธ