[AlgorithmCodeKata] 2026-03-10 | 시저 암호

2026. 3. 10. 10:38·AlgorithmCodekata

https://school.programmers.co.kr/learn/courses/30/lessons/12926

 

프로그래머스

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

programmers.co.kr

 

1. 의사 코드

아스키 코드를 이용
' '일 경우 answer에 더하고 넘어감
s에서 문자열 하나를 추출 후 대문자 소문자 구분
+n 만큼 더해준다.
결과값 answer에 더한다.

2. 제출 코드

#include <string>
#include <vector>

using namespace std;

string solution(string s, int n) {
    string answer = "";

    for(auto subString : s)
    {
        if(subString == ' ')
        {
            answer += subString;
            continue;
        }

        if( subString >= 'a')
        {
            answer += (subString - 'a' + n) % 26 + 'a';
        }
        else
        {
            answer += (subString - 'A' + n) % 26 + 'A';
        }
    }

    return answer;
}

3. Trouble Shooting

  • 이전코드
#include <string>
#include <vector>

using namespace std;

string solution(string s, int n) {

    string answer = "";
    for(auto subString : s)
    {
        if(subString == ' ')
        {
            answer += subString;
            continue;
        }
        
        char newS = subString + n;    

        if( subString >= 'a')
        {
            if( newS-'a' >= 26)
            {
                newS -= 26;
            }
        }
        else
        {
            if(newS-'A' >= 26)
            {
                newS -= 26;
            }
        }
        answer += newS;
    }  
    return answer;
}
  • newS를 char형태로 선언하여 오버플로우 발생
  • 제출 코드에서는 안전하게 'a'와 'A'값을 먼저 뺀뒤 + n 을 실행하여 오버플로우를 방지
반응형

'AlgorithmCodekata' 카테고리의 다른 글

[AlgorithmCodeKata] 2026-03-20 | 콜라 문제  (0) 2026.03.20
[AlgorithmCodeKata] 2026-03-18 | 문자열 내 마음대로 정렬하기  (0) 2026.03.18
[AlgorithmCodeKata] 2026-03-12 | 문자열 내 마음대로 정렬하기  (0) 2026.03.12
[AlgorithmCodeKata] 2026-03-11 | 숫자 문자열과 영단어  (0) 2026.03.11
[AlgorithmCodeKata] 2026-03-09 | 크기가 작은 부분 문자열  (0) 2026.03.09
'AlgorithmCodekata' 카테고리의 다른 글
  • [AlgorithmCodeKata] 2026-03-18 | 문자열 내 마음대로 정렬하기
  • [AlgorithmCodeKata] 2026-03-12 | 문자열 내 마음대로 정렬하기
  • [AlgorithmCodeKata] 2026-03-11 | 숫자 문자열과 영단어
  • [AlgorithmCodeKata] 2026-03-09 | 크기가 작은 부분 문자열
개발근육체육관원
개발근육체육관원
개발 근육 단련 체육관 입니다.
  • 개발근육체육관원
    개발근육체육관
    개발근육체육관원
  • 전체
    오늘
    어제
    • 분류 전체보기 (18)
      • 언리얼 게임개발 (8)
      • AlgorithmCodekata (9)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Til
    c++
    AlgorithmCodekata
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
개발근육체육관원
[AlgorithmCodeKata] 2026-03-10 | 시저 암호
상단으로

티스토리툴바