문제 출처 - Programmers
문제는 여기
[풀이]
1. 문자열의 각 인덱스의 문자를 구해준다.
2. 1. 에서 구해진 문자를 n만큼 더해준다.
3. 만약 z라면 a로 변경해주고 다시 더해준다.
4. 만약 Z라면 A로 변경해주고 다시 더해준다.
5. 만약 공백이라면 그냥 넘어간다.
6. 해당 문자를 정답에 더해준다.
7. 위 과정을 입력받은 문자의 길이만큼 반복한다.
8. 결과를 출력한다.
[접근]
1. 입력받은 문자열을 문자 단위로 나눠 n 만큼씩 증가시켜주면 되겠다고 생각하였다.
[코드]
class Solution {
public String solution(String s, int n) {
String answer = "";
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
for (int j = 0; j < n; j++) {
// 'z'면 'a'로 변경
// 변경하면서 +1이 진행된 것이니까 continue 해줌
if (c == 'z') {
c = 'a';
continue;
}
// 'Z'면 'A'로 변경
// 변경하면서 +1이 진행된 것이니까 continue 해줌
else if (c == 'Z') {
c = 'A';
continue;
}
// 공백이면 그냥 넘어가기
else if (c == ' ')
break;
c += 1;
}
answer += c; // 정답에 더하기
}
return answer;
}
}
'문제 풀이 > Programmers' 카테고리의 다른 글
[프로그래머스] 짝수와 홀수 (JAVA) (0) | 2022.04.14 |
---|---|
[프로그래머스] 직사각형 별찍기 (JAVA) (0) | 2022.04.13 |
[프로그래머스] 자릿수 더하기 (JAVA) (0) | 2022.04.11 |
[프로그래머스] 이상한 문자 만들기 (0) | 2022.04.10 |
[프로그래머스] 문자열을 정수로 바꾸기 (JAVA) (0) | 2022.04.09 |