[프로그래머스] 12926번 - 시저 암호 [Java]

2026. 5. 8. 11:59·프로그래머스
 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 


 

 

문제

 

 

제출한 코드

class Solution {
    public String solution(String s, int n) {
        
        String result = "";
        char[] arr = s.toCharArray();
        
        for (char c : arr) {
            if (c == ' ') 
                result += " ";
            
            if (Character.isUpperCase(c)) 
                result += (char) (((c -'A' + n) % 26) + 'A');
            else if (Character.isLowerCase(c))
                result += (char) (((c -'a' + n) % 26) + 'a');
        }
        
        return result;
    }
}

 

 

풀이

우선 전달 받은 String s 를 Char 배열로 변환해주었다.

이후 for문을 사용해서 해당 문자가 공백인지, 대문자인지 소문자인지를 if절로 판단하도록 했다.

if (c == ' ') 에서 알 수 있듯이, c가 공백일 경우 그대로 공백을 추가하도록 했다.

공백이 아닐 경우 해당 문자가 대문자인지, 소문자인지 판단하도록 했다.

 

(char) (((c -'A' + n) % 26) + 'A') 이 부분이 해당 문제의 핵심 포인트이다.

 

먼저 문자 c에서 'A' 를 뺌으로써 int형으로 변환해준 후 이동해야 할 수 n을 더해주었다.

이때, 만약 c가 'Z', n이 1일 경우 'A'로 넘어가야 하기 때문에 알파벳의 개수인 26으로 나눈 나머지 값에 'A'를 더해주어 해당 문자가 문제의 조건에 맞게 변환되도록 해주었다.

소문자일 때도 이와 동일하다.

'프로그래머스' 카테고리의 다른 글

[프로그래머스] 12915번 - 문자열 내 마음대로 정렬하기 [Java]  (0) 2026.05.12
[프로그래머스] 81301번 - 숫자 문자열과 영단어 [Java]  (0) 2026.05.11
[프로그래머스] 12930번 - 이상한 문자 만들기 [Java]  (0) 2026.05.04
[프로그래머스] 68935번 - 3진법 뒤집기 [Java]  (0) 2026.04.30
[프로그래머스] 12950번 - 행렬의 덧셈 [Java]  (0) 2026.04.16
'프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 12915번 - 문자열 내 마음대로 정렬하기 [Java]
  • [프로그래머스] 81301번 - 숫자 문자열과 영단어 [Java]
  • [프로그래머스] 12930번 - 이상한 문자 만들기 [Java]
  • [프로그래머스] 68935번 - 3진법 뒤집기 [Java]
이서라다
이서라다
  • 이서라다
    개발일지
    이서라다
  • 전체
    오늘
    어제
    • 전체 보기 (79)
      • 내일배움캠프 (21)
        • TIL (21)
      • 프로그래머스 (23)
      • Algorithm (2)
      • BackEnd (0)
        • Spring (0)
      • Language (4)
        • JAVA (4)
      • Git (2)
      • 백준 - Java (25)
        • 입출력과 사칙연산 (6)
        • 반복문 (8)
        • 1차원 배열 (1)
        • 문자열 (7)
        • 2차원 배열 (1)
        • 조합론 (1)
        • 정렬 (1)
      • IDE (1)
        • IntelliJ (1)
      • 티스토리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    jdk삭제
    티스토리스킨
    내일배움캠프
    til
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이서라다
[프로그래머스] 12926번 - 시저 암호 [Java]
상단으로

티스토리툴바