https://school.programmers.co.kr/learn/courses/30/lessons/12926
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
์ผ๋จ ๋ฌธ์์ด์ ๋ถ๋ฆฌํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ ํ๋๋ฐ ์ด๋ค์์ผ๋ก ๋ถ๋ฆฌํด์ผํ ์ง ๊ฐ์ด ์์ด
์ํ๋ฒณ์ ๋ณด๊ณ ์์คํค์ฝ๋๊ฐ ํ์ํ๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค.
์์ ์๋ ๋ฌธ์ ๋ฅผ ํ ๋ charAt()ํจ์๋ฅผ ์ด ์ ์ด ์์๋ ๊ฒ ๊ฐ์๋ฐ,
๊ทธ๋ ํ์คํ ์ ๋ฆฌํ์ง ๋ชปํ๋๋ณด๋ค. ๋ฌธ์ ๋ฅผ ํ ๋ ์๊ฐ์ด ์๋ฌ์
โ
1. charAt() -> String์ผ๋ก ์ ์ฅ๋ ๋ฌธ์์ด ์ค, ํ๊ธ์๋ง ์ ํํ์ฌ charํ์ ์ผ๋ก ๋ณํ
2. ์์คํค์ฝ๋๊ฐ -> A-Z : 65-90 / a-z : 97-122
3. isLowerCase() / isUpperCase() -> ์/๋๋ฌธ์ ์ฌ๋ถ ํ๋จ
์ฌ๋ฌ๊ฐ์ง ํ์ด๋ฅผ ๋ณธ ๊ฒฐ๊ณผ ๊ฐ์ฅ ๊น๋ํด ๋ณด์ด๋ ์ฝ๋๋ก ์ ๋ฆฌํด๋ดค๋ค.
ch = (char)((ch - 'a' + n) % 26 + 'a');
ํนํ ์ด ๋ถ๋ถ ์ฝ๋๊ฐ ๊น๋ํด๋ณด์๋ค.
class Solution {
public String solution(String s, int n){
String answer = "";
for(int i=0; i<s.length(); i++){ //๋ฌธ์์ด์ ๊ธธ์ด๋งํผ ๋ฐ๋ณต๋ฌธ
char ch = s.charAt(i); //charํ ๋ณ์์ ๋ฃ์ด์ค
if(Character.isLowerCase(ch)){ //์๋ฌธ์
ch = (char)((ch - 'a' + n) % 26 + 'a');
}else if(Character.isUpperCase(ch)){ //๋๋ฌธ์
ch = (char)((ch - 'A' + n) % 26 + 'A');
}
answer += ch;
}
return answer;
}
}
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LV1/JAVA] ํ๋ ฌ์ ๋ง์ (0) | 2024.09.03 |
---|---|
[LV1/JAVA] ์ฝ๋ผ์ธ ์ถ์ธก (0) | 2024.08.27 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2021.12.14 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2021.12.14 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (0) | 2021.12.14 |