STUDY/Algorithm

[백준] 11655 ROT13 C,C++

sinawi95 2022. 2. 21. 22:19
728x90

https://www.acmicpc.net/problem/11655

 

11655번: ROT13

첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다.

www.acmicpc.net

문자열 문제이고 쉬운 문제이다. 포인터로 풀었다.

#include<stdio.h>
#include<string.h>

int main() {
	int i, tmp;
	char s[101], *ptr;
	fgets(s, 101, stdin);
	ptr = s;
	while (*ptr != '\0') {
		if ((int)'a' <= (int)(*ptr) && (int)(*ptr) <= (int)'z') {
			tmp = (((int)(*ptr) - (int)'a' + 13) % 26) + (int)'a';
			*ptr = (char)tmp;
			//printf("%c %d", tmp, tmp);
		}
		else if ((int)'A' <= (int)(*ptr) && (int)(*ptr) <= (int)'Z') {
			tmp = (((int)(*ptr) - (int)'A' + 13) % 26) + (int)'A';
			*ptr = (char)tmp;
			//printf("%c %d", tmp, tmp);
		}
		ptr++;
	}
	printf("%s", s);
	return 0;
}

 

어제 문제 풀었는데 git commit을 안해서 잔디에 구멍이 뽕 하고 났다 ㅠㅠ