반응형
리뷰
문자열의 각 문자의 아스키코드를 13씩 밀어 출력하는 문제
문제 풀이
- 문자열을 받아주고 정답을 출력할 문자열을 빈 문자열로 초기화 해준다.
- 아스키 코드가 65 ~ 77, 97 ~ 109라면 13을 더해주고 78 ~ 90, 110 ~ 122 라면 13을 빼준후 정답 문자열에 더해준다.
- 만약 그 외의 아스키 코드라면 그대로 정답 문자열에 더해주면 된다. for문이 종료된 후 정답 문자열을 출력해 준다.
참고 사항
없음
정답 코드
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s, ans = "";
getline(cin, s);
for (int i = 0; i < s.size(); i++) {
if ((65 <= s[i] && s[i] < 78) || (97 <= s[i] && s[i] < 110)) ans += s[i] + 13;
else if ((78 <= s[i] && s[i] < 91) || (110 <= s[i] && s[i] < 123)) ans += s[i] - 13;
else ans += s[i];
}
cout << ans;
}
728x90
반응형
'알고리즘 공부 > C++' 카테고리의 다른 글
백준 11656번 접미사 배열 C++ (0) | 2024.07.20 |
---|---|
백준 2948번 2009년 C++ (1) | 2024.07.20 |
백준 11170번 0의 개수 C++ (1) | 2024.07.20 |
백준 5218번 알파벳 거리 C++ (0) | 2024.07.20 |
백준 10821번 정수의 개수 C++ (0) | 2024.07.20 |