scanf("%s",s);
int len = 0;
for(int i=0;s[i];i++){//s[i]에 NULL값이 나오면 종료된다.
len+=1;
}
ROT13
ROT13으로 암호화하는 프로그램을 만드는 문제이다. ROT13은 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin,s);
int n = s.size();
for(int i=0;i<n;i++){
if('a'<=s[i]&&s[i]<='m'){
s[i]=s[i]+13;
}else if('n'<=s[i]&&s[i]<='z'){
s[i]=s[i]-13;
}else if('A'<=s[i]&&s[i]<='M'){
s[i]=s[i]+13;
}else if('N'<=s[i]&&s[i]<='Z'){
s[i]=s[i]-13;
}
}
cout << s <<"\n";
}
문자열 -> 정수
#include <string>에서 stoi,stol,stoll등등의 함수를 사용하면 된다.
함수
변화
stoi
string->int
stol
string->long
stoll
string->long long
stof
string->float
stod
string->double
stold
string->long double
stoul
string->unsigned long
stoull
string->unsigned long long
정수 -> 문자열
to_string함수를 사용하면된다.
#include <iostream>
#include <string>
using namespace std;
int main() {
long a,b,c,d;
cin >> a >> b >> c >> d;
string ab = to_string(a)+ to_string(b);
string cd = to_string(c)+ to_string(d);
cout << stoll(ab)+stoll(cd)<<"\n";
}
접미사 배열
문자열 S의 모든 접미사를 사전순으로 정해 놓은 배열이다.
ex)likelion
likelion, ikelion, kelion, elion, lion, ion, on, n