728x90
반응형
문제
코드
#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] != ' ')
{
if(s[i] >= 'a' && s[i] <= 'z')
{
answer += (s[i]-'a'+n)%26+'a';
}
else if(s[i] >= 'A' && s[i] <= 'Z')
{
answer += (s[i]-'A'+n)%26+'A';
}
}
else
{
answer+=' ';
}
}
return answer;
}
문제 해설
- 문자열 s의 길이만큼 for문을 돌린다.
- 만약 s[i] 가 공백이 아니고
- s[i] 의 문자가 'a' 이거나 보다 크고 s[i]가 z이거나 보다 작으면
- answer 에 s[i]에서 'a' 를 뺀 후 n만큼 더해주고 알파벳 개수에서 나머지를 구하고 'a'를 더해주면 된다.
- 공백이 아닐 경우에는 answer 에 공백을 더해준다.
728x90
반응형
'코딩테스트 > 프로그래머스(C++)_Level.1' 카테고리의 다른 글
[프로그래머스/C++] Lv.1 두 개 뽑아서 더하기 (0) | 2023.12.14 |
---|---|
[프로그래머스/C++] Lv.1 추억 점수 (0) | 2023.12.13 |
[프로그래머스/C++] Lv.1 크기가 작은 부분문자열 (0) | 2023.12.12 |
[프로그래머스/C++] Lv.1 이상한 문자 만들기 (0) | 2023.11.28 |
[프로그래머스/C++] Lv.1 예산 (0) | 2023.11.28 |