[프로그래머스] Lv. 1 시저 암호(Java)
by rowing0328https://school.programmers.co.kr/learn/courses/30/lessons/12926
정답 코드
public class Solution {
public String solution(String s, int n) {
StringBuilder builder = new StringBuilder();
for (char c : s.toCharArray()) {
builder.append(push(c, n));
}
return builder.toString();
}
private char push(char c, int n) {
if (!Character.isAlphabetic(c)) return c;
int offset = Character.isUpperCase(c) ? 'A' : 'a';
int position = c - offset;
position = (position + n) % ('Z' - 'A' + 1);
return (char) (offset + position);
}
}
설명
- 입력 문자열의 모든 문자에 대해 반복
- 알파벳이 아닌 경우 문자를 그대로 이어 붙이기
- 알파벳인 경우 n만큼 밀어 이어 붙이기
실행 결과
참고 자료 :
'🏅Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] Lv. 2 거리두기 확인하기(Java) (0) | 2025.01.13 |
---|---|
[프로그래머스] Lv. 1 이상한 문자 만들기(Java) (0) | 2025.01.13 |
[프로그래머스] Lv. 1 자연수 뒤집어 배열로 만들기(Java) (0) | 2025.01.13 |
[프로그래머스] Lv. 2 삼각 달팽이(Java) (2) | 2024.12.28 |
[프로그래머스] Lv. 4 호텔 방 배정(Kotlin) (0) | 2024.12.27 |
블로그의 정보
코드의 여백
rowing0328