●문제

●간단한 설명
string값 s, int 값 n, 결과값 string 존재
s값에서 n값 알파벳 순서만큼 민 result값 return
●내가 푼 방법
대문자와 소문자 아스키코드값 사이에서
(+n만큼 더해주고 -아스키코드값) % 알파벳갯수 - '대문자나 소문자'
●알아야하는 개념 / 알게된 개념
아스키코드에서 A ~ Z 는 65번 ~ 90번
아스키코드에서 a ~ z 는 97번 ~ 122번
반드시 공백도 처리해줄것
#include <string>
#include <vector>
using namespace std;
string solution(string s, int n)
{
string answer = "";
for (int i = 0; i < s.size(); ++i)
{
if (s[i] >= 65 && s[i] <= 90)
{
s[i] = ((s[i] + n - 65) % 26 + 'A');
answer.push_back(s[i]);
}
else if (s[i] >= 97 && s[i] <= 122)
{
s[i] = ((s[i] + n - 97) % 26 + 'a');
answer.push_back(s[i]);
}
else if(s[i] == ' ')
{
answer.push_back(s[i]);
}
}
return answer;
}'C++ 프로그래머스 > 기타 문제' 카테고리의 다른 글
| 프로그래머스(C++) - 숫자의 표현 (0) | 2025.08.01 |
|---|---|
| 프로그래머스(C++) - JadenCase 문자열 만들기 (0) | 2025.08.01 |
| 프로그래머스(C++) - 콜라 문제 (0) | 2025.05.13 |
| 프로그래머스(C++) - 푸드 파이트 대회 (0) | 2025.05.12 |
| 프로그래머스(C++) - 숫자 문자열과 영단어 (0) | 2025.05.07 |
