https://programmers.co.kr/learn/courses/30/lessons/12926
< ์์ ์ํธ>
โ ์ฒ์ ํผ ํ์ด
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class Solution {
public String solution(String s, int n) {
String answer = "";
for(int i=0 ; i<s.length(); i++){
if(s.charAt(i)==' ')
answer+=' ';
else {
if(s.charAt(i)>=65 && s.charAt(i)<=90)
answer += s.charAt(i)+n>90 ? (char)(s.charAt(i)-26+n) :(char)(s.charAt(i)+n);
else if(s.charAt(i)>=97 && s.charAt(i)<=122)
answer += s.charAt(i)+n>122 ? (char)(s.charAt(i)-26+n) :(char)(s.charAt(i)+n);
}
}
return answer;
}
}
|
cs |
โ ์๊ฐ ๊ณผ์
1.๋ฐ์ด๋ธ ๋ค๋๊ฒ -> char๊ฐ์ n์ฉ ๋ํด์ผํ๋ค
2. ์๋ฌธ์ ๋๋ฌธ์๋ก ๋๋ ์ผํ๋ค.
3. 'Z' ํน์ 'z' ๊ฐ ๋์์ ๋ ์กฐ๊ฑด์ด ์์ด์ผํ๋ค.
โ ์ํ์ฐฉ์ค
1.์ฒ์์๋ ๋ฒ์๋ ๋๋์ด์ฃผ์ง ์์๊ณ ๊ณต๋ฐฑ๋ ์๊ฐ ๋ชปํ๊ณ ์กฐ๊ฑด์์ z๊ฐ ๋์์๋๋ง ์ด๋ป๊ฒ ํด๋ผ๋ง ๋ฃ์ด์ค
โ ํจ๊ป ๋ณด๊ณ ์ถ์ ํ์ด
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
class Caesar {
String caesar(String s, int n) {
String result = "";
n = n % 26;
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (Character.isLowerCase(ch)) {
ch = (char) ((ch - 'a' + n) % 26 + 'a');
} else if (Character.isUpperCase(ch)) {
ch = (char) ((ch - 'A' + n) % 26 + 'A');
}
result += ch;
}
return result;
}
public static void main(String[] args) {
Caesar c = new Caesar();
System.out.println("s๋ 'a B z', n์ 4์ธ ๊ฒฝ์ฐ: " + c.caesar("a B z", 4));
}
}
|
cs |
6๋ฒ์งธ์ค) n๋ 25๊น์ง๋ก ์ ํด์ ธ ์์ง๋ง ๋ง์ฝ์ 25๊น์ง ์ ํด์ ธ ์์ง ์์๋ค๋ฉด %26๋ก ์ฐ์ฐํด์ ๋๋จธ์ง๋ฅผ ๋ฐ๋๋ค
8๋ฒ์งธ์ค) ์ ๋ ฅ๋ฐ์ ch ๊ฐ ์๋ฌธ์ ๋ฒ์(122)๋ฅผ ๋์์ ์์ผ๋๊น -'a'๋ฅผ ๋นผ๊ณ +n์ ํ๋ค์ %26์ ๋๋๊ณ ๋ค์ 'a'๋ฅผ
๋ํด์ค๋ค ์ฌ๊ธฐ์ ํต์ฌ์ ๋๋จธ์ง์ฐ์ฐ์(%)๋ฅผ ํตํด์ ๋ฐ์ด์ค ์ซ์ ๋งํผ๋ง ๋จ๊ฒจ์ฃผ๋๊ฒ
Character.isLowerCase(ch)
'JAVA > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด/level1/java/ํ๋ก๊ทธ๋๋จธ์ค (0) | 2020.02.18 |
---|---|
๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ/java/level1/programmers (0) | 2020.02.17 |
K๋ฒ์งธ์/programmers/level1/java/sort()/copyOfRange() (0) | 2020.02.11 |
ํ๋ ฌ ๋ง์ (0) | 2020.02.10 |
ํ๊ท ๊ตฌํ๊ธฐ/java/level1/ํ๋ก๊ทธ๋๋จธ์ค (0) | 2020.02.10 |