๋ฌธ์ ๋ ์ฌ๊ธฐ
์ค๋ช
C ๊ธฐ๋ณธ๊ธฐ๋ฅผ ์์ด๊ฐ๋ ๊ฒ ๊ฐ์์ ์ฌ์ํ ์ค์๋ ์ ์ด๋๊ณ ์ข ์ข ๋ค์ฌ๋ค๋ณด๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค.
int n = int(s[i])
๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ฐ, ์ต๊ด์ ์ผ๋ก atoi()๋ฅผ ์ฌ์ฉํ๊ณ ์ด๋ก ์ธํด const char* type error๊ฐ ๋ฐ์ํ์๋ค.
์ฆ char*์ด ์๋์๋, atoi() ํจ์๋ก ํ๋ณํ์ ์๋ํ์ฌ์ ๋ฐ์ํ ์๋ฌ์ด๋ค.
โ ๋ง์ฝ s[i]๊ฐ c++ string type์ธ ๊ฒฝ์ฐ์๋ atoi()๋ฅผ ํ ๋, atoi(s[i].c_str());
๋ฅผ ํด์ฃผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
๊ทธ๋ฌ๋ ์ด ๊ฒฝ์ฐ์๋ s[i]๋ ๋จ์ํ char type์ด๊ธฐ ๋๋ฌธ์ ํ๋ณํ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๋น์ฐํ๊ฒ๋ ๋จ์ํ int n = s[i];
๋ฅผ ํด์ฃผ๊ฑฐ๋ int n = int(s[i]);
๋ฅผ ํด์ฃผ๋ฉด ๋๋ค.
[์ฌ์ฉ ํ๊ฒฝ]
์์ดํจ๋, C/C++ Compiler ์ฑ ์ฌ์ฉ.
โ ์ฌ์ค์ ํด๋น ๋ฌธ์ ์์ ์๊ตฌํ๋ ๋ฐ๋ ์ํ ํ์ a~z, A~Z๋ฅผ ๋ฃ์ด๋๊ณ +13์ ํ๋ฉฐ ์ํ์ผ๋ก ์ ๊ทผํ๋ ๊ฒ์ด๋, ๋ณด๋ค ์ต์ํ ์์คํค์ฝ๋๋ฅผ ์ฌ์ฉํ์๋ค.
์ฝ๋
#include <iostream>
#include <stdlib.h>
#include <string>
#include <cstring>
#include <deque>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string s;
getline(cin,s);
for(int i=0;i<s.size();i++)
{
if((s[i] >= 'a') && (s[i]<='z'))
{
int n = s[i];
if(n+13>'z') n='a'+(n+12-'z');
else n+=13;
cout << char(n);
}
else if((s[i] >= 'A') && (s[i]<='Z'))
{
int n = s[i];
if(n+13>'Z') n = 'A'+(n+12-'Z');
else n+=13;
cout << char(n);
}
else cout << s[i];
}
return 0;
}