-
프로그래머스 - 시저 암호알고리즘 2024. 4. 11. 23:24
class Solution { public String solution(String s, int n) { StringBuilder sb = new StringBuilder(); for(char c : s.toCharArray()) { if(c >= 'a' && c <= 'z') { c = ((char)(c + n) > 'z') ? (char)(c - 26 + n) : (char)(c + n); sb.append(c); } else if(c >= 'A' && c <= 'Z') { c = (char)(c + n) > 'Z' ? (char)(c - 26 + n) : (char)(c + n); sb.append(c); } else { sb.append(" "); } } return sb.toString(); } }
소문자, 대문자인지 판별 후 n을 더했을 때 범위를 넘어선다면 알파벳의 길이인 26을 빼서 다시 a, A부터 시작하도록 했습니다.
입력값이 소문자, 대문자, 공백이기 때문에 else 로 공백을 추가해 답을 반환했습니다.'알고리즘' 카테고리의 다른 글
프로그래머스 - 가장 가까운 같은 글자 (0) 2024.04.12 프로그래머스 - 최소 직사각형 (0) 2024.04.12 프로그래머스 - 최빈값 구하기 (1) 2024.04.06 프로그래머스 - 겹치는 선분의 길이 (0) 2024.04.06 프로그래머스 - 안전지대 (0) 2024.04.05