[BOJ] 백준_11655번_ROT13 / C언어, C++백준 알고리즘2021. 9. 6. 00:21
목차
문제 출처
https://www.acmicpc.net/problem/11655
코드
//[BOJ] 11655번_ROT13
#include <iostream>
#include <stdio.h>
#define SIZE 100
using namespace std;
int main() {
int i = 0;
char S[SIZE];
cin.getline(S, SIZE + 1);
while (!(S[i] == '\0'))
{
if (S[i] >= 'A' && S[i] <= 'Z')
{
if (S[i] + 13 > 90)
printf("%c", S[i] - 13);
else
printf("%c", S[i] + 13);
}
else if (S[i] >= 'a' && S[i] <= 'z')
{
if (S[i] + 13 > 122)
printf("%c", S[i] - 13);
else
printf("%c", S[i] + 13);
}
else
cout << S[i];
i++;
}
return 0;
}
이제는 알파벳 문제를 보면 10진수로 바로바로 변환해서 생각할 수 있게 될 것 같다. 소문자와 대문자의 10진수 간격 차이와 13씩 밀려날 때 다시 a 또는 A 자리로 돌아가서 연산될 수 있게끔 만들어주는 것 정도가 이 문제의 중요한 포인트였던 것 같다.
728x90
반응형
LIST
'백준 알고리즘' 카테고리의 다른 글
[BOJ] 백준_10820번_문자열 분석 / C++ (0) | 2021.09.06 |
---|---|
[BOJ] 백준_2743번_단어 길이 재기 / C++ (0) | 2021.09.06 |
[BOJ] 백준_10824번_네 수 / C언어 (0) | 2021.09.03 |
[BOJ] 백준_10809번_알파벳 찾기 / C언어 (0) | 2021.09.02 |
[BOJ] 백준_1934번_최소공배수 / C언어 (0) | 2021.09.01 |
@kdj :: Childev'note
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!