[PS] 99ํด๋ฝ ์ฝํ ์คํฐ๋ 4์ผ์ฐจ TIL (JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ)
ํ๊ทธ: 99ํด๋ฝ, PS, TIL, ๋ฌธ์์ด, ์ฝ๋ฉํ ์คํธ์ค๋น, ํญํด99
์นดํ ๊ณ ๋ฆฌ: PS
๋ฌธ์
ํ์ด
์ฒซ๋ฒ์งธ ํ์ด (์ค๋ต)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public String solution(String s) {
String lcString = s.toLowerCase();
String[] split = lcString.split(" ");
StringBuilder result = new StringBuilder();
for (int i = 0; i < split.length; i++) {
String string = split[i];
if (!string.isEmpty()) {
String front = string.substring(0, 1).toUpperCase();
result.append(!front.isEmpty() ? front : "");
result.append(split[i], 1, split[i].length());
result.append(i < split.length - 1 ? " " : "");
}
}
return result.toString();
}
}
์ฒซ๋ฒ์งธ ํ์ด์์ ๋ฌธ์ ๊ฐ ๋์๋ ๋ถ๋ถ์ ๋จผ์ result.append(!front.isEmpty() ? front : "");
์ด ์ฝ๋๋ front ๊ฐ ๋น ๋ฌธ์์ด์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๊ตณ์ด ์กฐ๊ฑด ๊ฒ์ฌ๋ฅผ ํ ํ์๊ฐ ์๋ค.
๋ํ result.append(i < split.length - 1 ? " " : "");
์ด ๋ถ๋ถ์ด if ๋ฌธ ์์ ๋ค์ด๊ฐ ์์ด์ ๊ณต๋ฐฑ ๋ฌธ์์ด์ ๋ํด์๋ ์๋ชป๋ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋ค.
1
2
3
4
5
6
7
8
// input
" hello world "
// s.split(" ")
[, , , ", , hello, world, , "] // " " ๊ณต๋ฐฑ ๋ฌธ์์ด์ split(" ") ํ๊ฒ๋๋ฉด ""
// output
" Hello World "
์์์ s.split(โ โ) ๋ฐฐ์ด์ ๋งจ ์ ๋น ๋ฌธ์์ด(โโ)์ ๋ํด์ if ๋ฌธ์ด false ๊ฐ ๋์ค๊ฒ ๋์ด result ์ ๊ณต๋ฐฑ์ ์ถ๊ฐํ์ง ์๋๋ค. ๊ณต๋ฐฑ๋ ์ถ๊ฐํด์ ๋ฐํ ํด์ผ ํ๋ ๋ฌธ์ ์ด๋ฏ๋ก ์ด๋ ๊ฒ ๋๋ฉด ์ค๋ฅ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
์ ์์ ์์์ฒ๋ผ split(โ โ) ๋ก ์๋ฅด๊ฒ ๋๋ฉด ๋ค์ชฝ ๊ณต๋ฐฑ์ ํฌํจ๋์ง ์๋๋ค. ๋งจ ๋ค์ ๋น ๋ฌธ์์ด๋ ์ถ๋ ฅ๊ฒฐ๊ณผ์ ํฌํจํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ split(" ", -1)
๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํด์ผ ํ๋ค.
1
public String[] split(String regex, int limit) {
split() ํจ์๋ ๋๋ฒ์งธ ์ธ์๋ฅผ ๊ฐ์ง ๋ฉ์๋๊ฐ ์๋๋ฐ, limit ์ด ์์์ธ์ง, 0์ธ์ง, ์์์ธ์ง์ ๋ฐ๋ผ ํจํด์ด ์ ์ฉ๋๋ ํ์๋ฅผ ์ ์ดํ๋ฉฐ, ๋ฐ๋ผ์ ๊ฒฐ๊ณผ ๋ฐฐ์ด์ ๊ธธ์ด์ ์ํฅ์ ๋ฏธ์น๋ค.
split()
case | ํจํด ์ ์ฉ ํ์ | ๋ฐฐ์ด ๊ธธ์ด |
---|---|---|
์์ | limit - 1 | <= limit |
0 | ์ต๋ | ๋ง์ง๋ง ๋น ๋ฌธ์์ด ๋ฒ๋ฆผ |
์์ | ์ต๋ | ๋ง์ง๋ง ๋น ๋ฌธ์์ด ํฌํจ |
๋๋ฒ์งธ ํ์ด
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public String solution(String s) {
String lcString = s.toLowerCase();
String[] split = lcString.split(" ", -1);
StringBuilder result = new StringBuilder();
for (int i = 0; i < split.length; i++) {
String string = split[i];
if (!string.isEmpty()) {
String front = string.substring(0, 1).toUpperCase();
result.append(front);
result.append(string.substring(1));
}
//
if (i < split.length - 1) {
result.append(" ");
}
}
return result.toString();
}
}
์ ์ฒด์ ์ผ๋ก ๋ถํ์ํ ์ผํญ์ฐ์ฐ์ ์์ ๊ณ ๋ค์ ๊ณต๋ฐฑ์ด ํฌํจ๋ ์ํ๋ก ์
๋ ฅ ๋๋ ๋ฌธ์์ด(" hello world "
)์ ๋ํด์๋ ๊ทธ๋๋ก ํฌํจํด์ ์ถ๋ ฅํ๋๋ก ์์ ํ๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ