Open HeeSuChoi opened 4 years ago
콘솔창에서 디버그할땐 문제 의도대로 잘 출력되는 것 같은데 제출히면 틀렸다고 함;; 백준 답지봤을 때 내 답이랑 함수 만든 것 말고 똑같은 것 같은데 어디가 틀렸는지 다시 확인해야겠음!
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s);
//ROT13
for (int i = 0; i < s.size(); i++){
if (s[i] >= 'A' && s[i] <= 'M')
s[i] = s[i] + 13;
else if (s[i] >= 'N' && s[i] <= 'Z')
s[i] = s[i] - 13;
else if (s[i] >= 'a' && s[i] <= 'm')
s[i] = s[i] + 13;
else if (s[i] >= 'n' && s[i] <= 'z')
s[i] = s[i] - 13;
else s[i] = s[i];
}
cout << s << '\n';
//return 0;
}
char s[100] = { 0 };
cin.getline(s,100);
을
string s;
getline(cin, s);
으로 변경하니까 정답이 나왔다.
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int main() {
string S;
int rot;
getline(cin, S);
for (int i = 0; i < S.length(); i++) {
if (S[i] > 64 && S[i] < 91) { // 대문자인 경우
rot = S[i] + 13;
if (rot >= 91) rot -= 26;
S[i] = rot;
}
if (S[i] > 96 && S[i] < 123) { // 소문자인 경우
rot = S[i] + 13;
if (rot >= 123) rot -= 26;
S[i] = rot;
}
}
cout << S << endl;
//system("pause");
return 0;
}