☕Language: Java
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
27
28
29
30
31
32
33
34
|
class Solution {
public String solution(String s, int n) {
String answer = "";
StringBuilder sb = new StringBuilder();
for(int i=0; i<s.length(); i++){
if(s.charAt(i)>='A' && s.charAt(i)<='Z'){
sb.append(upperCase(s.charAt(i), n));
}
if(s.charAt(i)>='a' && s.charAt(i)<='z'){
sb.append(lowerCase(s.charAt(i), n));
}
if(s.charAt(i)==' '){
sb.append(" ");
}
}
answer = sb.toString();
return answer;
}
public char upperCase(char c, int n){
char result = (char) (c + n);
if(result > 'Z') result -= 26;
return result;
}
public char lowerCase(char c, int n){
char result = (char) (c + n);
if(result > 'z') result -= 26;
return result;
}
}
|
* 알고리즘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
class Solution {
public String solution(String s, int n) {
String answer = "";
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (Character.isLowerCase(ch)) {
ch = (char) ((ch - 'a' + n) % 26 + 'a');
}
if (Character.isUpperCase(ch)) {
ch = (char) ((ch - 'A' + n) % 26 + 'A');
}
answer += ch;
}
return answer;
}
}
|
* Character 내장 함수
- (ch - 'a' + n) % 26 + 'a'
- 0~25 사이의 위치를 계산후, 소문자 기준으로 위치 변환
🔗 소스 코드
GitHub
📚 참고 자료
'Computer > Algorithm_Java' 카테고리의 다른 글
[Algorithm_Java] 약수의 합 (Success) (0) | 2023.10.30 |
---|---|
[Algorithm_Java] 문자열을 정수로 바꾸기 (Success) (0) | 2023.10.28 |
[Algorithm_Java] 수박수박수박수박수박수? (Success) (0) | 2023.10.27 |
[Algorithm_Java] 소수 찾기 (Success) (0) | 2023.10.26 |
[Algorithm_Java] 서울에서 김서방 찾기 (Success) (0) | 2023.10.25 |