CodingTest/Java
Lv.2 : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ
Soom_1n
2023. 9. 5. 22:48
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๋ฌธ์์ด s๋ฅผ ์ ๋ ฅ๋ฐ์, ๋จ์ด์ ์ฒซ ๋ฌธ์๊ฐ ๋๋ฌธ์์ด๊ณ ๊ทธ ์ธ์ ๋ฌธ์๋ ์๋ฌธ์๋ก ๋ง๋ค์ด ์ถ๋ ฅํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ๋ฌธ์์ด s์ ๋ชจ๋ ์ํ๋ฒณ์ ์๋ฌธ์๋ก ๋ณํํ๋ค.
- ๊ณต๋ฐฑ ์งํ์ ์ํ๋ฒณ๋ง ๋๋ฌธ์๋ก ๋ณํํ๋ค.
๐ธ ์ฝ๋ ๐ธ
class Solution {
public String solution(String s) {
String answer = "";
boolean flag = true;
char c;
s = s.toLowerCase();
for(int i = 0; i < s.length(); i++) {
c = s.charAt(i);
if(c == ' ') flag = true;
else if(flag && c >= 'a' && c <= 'z'){
c -= 32;
flag = false;
}
else {
flag = false;
}
answer += c;
}
return answer;
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- toLowerCase()๋ฉ์๋๋ฅผ ํตํด ๋ฌธ์์ด s์ ์ํ๋ฒณ์ฌ ๋ชจ๋ ์๋ฌธ์๋ก ์นํํ๋ค.
- ๋ฌธ์์ด s์ ๋ฌธ์๋ค์ ํ๋์ฉ ๊ฒ์ฌํด answer์ ์ ์ฅํ๋ค.
- ๊ณต๋ฐฑ์ด ๋์ค๋ฉด flag๋ฅผ true๋ก ๋ฐ๊พผ๋ค.
- ์ํ๋ฒณ์ด ๋์๋๋ฐ flag๊ฐ true์ด๋ฉด, ๊ณต๋ฐฑ ์งํ์ ์ํ๋ฒณ์ด๋ฏ๋ก ๋๋ฌธ์๋ก ๋ณํํ๊ณ flag๋ false๋ก ๋ฐ๊พผ๋ค.
- ๊ทธ ์ธ์๋ flag๋ฅผ false๋ก ๋ฐ๊พผ๋ค.
- answer๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ๋ฌธ์๋ฅผ ํ๋์ฉ ๊ฒ์ฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋๋ฐ, ๋ค๋ฅธ ํ์ด๋ฅผ๋ณด๋ split()์ ํตํด ๋ฌธ์์ด๋ก ๋๋ ํ ๊ฒ์ฌํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- chatAt() ๋ฉ์๋๊ฐ ์์์๋ถํฐ ํด๋น ์ธ๋ฑ์ค๋ก ์ด๋ํด์ผํ๋ ๋ฐ๋ณต ์์ ์ด ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์, ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด split()์ผ๋ก ๊ฒ์ฌํ๋๊ฒ ๋ ์ข์๋ ๊ฒ ๊ฐ๋ค.
- ์ ๊ทํํ์์ํตํด, ๊ณต๋ฐฑ์ดํ์ ๋ฌธ์๋ฅผ ํ๋จํ๊ณ , ๋งจ ์๋ง toUpperCase(), ๊ทธ ํ๋ toLowerCase()๋ก ๋ฎ์ด๋ฒ๋ฆฌ๋ ๋ฐฉ์๋ ๋ณด์๋๋ฐ ์ ๊ทํํ์์ ์ ์ฐ๋ฉด ๋ฉ์์ง๋ง ์ดํดํ๊ธด ํ์คํ ํ๋ ์ฝ๋๊ฐ ๋๋ ๊ฒ ๊ฐ๋ค.
728x90