출처: 프로그래머스 코딩테스트 연습 ,https://school.programmers.co.kr/learn/courses/30/lessons/12926#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[문제풀이]
아스키 코드를 이용해서 n을 더해서 문자열을 미뤄주면된다.
단 'z'와 'Z'를 초과하는 경우를 분류해서 26을 빼주어야 한다.
공백문자 ' '에 대한 처리도 필요하다.
#include <string>
#include <vector>
using namespace std;
char Change(char x , int n){
if ( x == ' '){
return ' ';
}
if ('a' <= x && x <= 'z' && x + n > 'z'){
return x + n - 26;
}
if ('A' <= x && x <= 'Z' && x + n > 'Z'){
return x + n - 26;
}
return x + n ;
}
string solution(string s, int n) {
string answer = "";
for (char x : s){
answer += Change(x, n);
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[C++] 프로그래머스 : 전력망을 둘로 나누기 (0) | 2024.02.22 |
---|---|
[C++] 프로그래머스 : 정수삼각형 (0) | 2024.02.22 |
[C++] 프로그래머스 : 달리기 경주 (0) | 2024.02.15 |
[Python] 프로그래머스 : 주차 요금 계산 (0) | 2024.02.14 |
[C++] 프로그래머스 : 순위 (0) | 2024.02.13 |