[伯俊]1655 ROT 13
https://www.acmicpc.net/problem/11655
質問する
質問する
ROT 13はシーザーパスワードの一種で、13文字の英字でまとめられています.
例えば、「BaekjoonオンラインJudge」をROT 13に暗号化すると、「Onrxwbba Bayvar Whqtr」となる.暗号化されたROT 13のコンテンツを元のコンテンツに変換するには、暗号化された文字列をROT 13に再変換するだけです.先に暗号化した文字列「Onrxwbba Bayvar Whqtr」にROT 13を再度適用すると、「BaekjoonオンラインJudge」となります.
ROT 13はアルファベットの大文字と小文字にしか適用できません.アルファベット以外の字はそのままにしなければならない.例えば、「Oneis 1」をROT 13に暗号化すると、「Bar vf 1」となる.
文字列が指定されている場合は、「ROT 13」を使用して出力プログラムを暗号化して作成します.
解釈中のAskyコード
プール(C+) #include <bits/stdc++.h>
using namespace std;
string s;
int main(){
ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
getline(cin, s); //문자열 띄어쓰기까지 그대로 받기
for(char a : s){
if(a>='A' && a<'a'){ //대문자일경우
if(a+13 > 'Z'){ // 13을 더햇는데 Z보다 클경우
a = a - 26 + 13; //A로 돌아가서 13을 더함
}else{
a += 13;
}
}else if(a>='a' && a<='z'){ //소문자일경우
if(a+13 > 'z'){
a = a - 26 + 13;
}else{
a += 13;
}
}
cout<<a;
}
return 0;
}
プール(Python) #ord() : 알파벳 => 아스키코드
#chr() : 아스키코드 => 알파벳으로
s = input()
for i in s:
if i.isupper(): #대문자
if ord(i)+13 > ord('Z'):
print(chr(ord(i) - 26 + 13), end='')
else: print(chr(ord(i) + 13), end='')
elif i.islower(): #소문자
if ord(i)+13 > ord('z'):
print(chr(ord(i) - 26 + 13), end='')
else:
print(chr(ord(i) + 13), end='')
else:
print(i, end='')
Reference
この問題について([伯俊]1655 ROT 13), 我々は、より多くの情報をここで見つけました
https://velog.io/@youngcheon/백준-11655-ROT13
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
プール(C+) #include <bits/stdc++.h>
using namespace std;
string s;
int main(){
ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
getline(cin, s); //문자열 띄어쓰기까지 그대로 받기
for(char a : s){
if(a>='A' && a<'a'){ //대문자일경우
if(a+13 > 'Z'){ // 13을 더햇는데 Z보다 클경우
a = a - 26 + 13; //A로 돌아가서 13을 더함
}else{
a += 13;
}
}else if(a>='a' && a<='z'){ //소문자일경우
if(a+13 > 'z'){
a = a - 26 + 13;
}else{
a += 13;
}
}
cout<<a;
}
return 0;
}
プール(Python) #ord() : 알파벳 => 아스키코드
#chr() : 아스키코드 => 알파벳으로
s = input()
for i in s:
if i.isupper(): #대문자
if ord(i)+13 > ord('Z'):
print(chr(ord(i) - 26 + 13), end='')
else: print(chr(ord(i) + 13), end='')
elif i.islower(): #소문자
if ord(i)+13 > ord('z'):
print(chr(ord(i) - 26 + 13), end='')
else:
print(chr(ord(i) + 13), end='')
else:
print(i, end='')
Reference
この問題について([伯俊]1655 ROT 13), 我々は、より多くの情報をここで見つけました
https://velog.io/@youngcheon/백준-11655-ROT13
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <bits/stdc++.h>
using namespace std;
string s;
int main(){
ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
getline(cin, s); //문자열 띄어쓰기까지 그대로 받기
for(char a : s){
if(a>='A' && a<'a'){ //대문자일경우
if(a+13 > 'Z'){ // 13을 더햇는데 Z보다 클경우
a = a - 26 + 13; //A로 돌아가서 13을 더함
}else{
a += 13;
}
}else if(a>='a' && a<='z'){ //소문자일경우
if(a+13 > 'z'){
a = a - 26 + 13;
}else{
a += 13;
}
}
cout<<a;
}
return 0;
}
#ord() : 알파벳 => 아스키코드
#chr() : 아스키코드 => 알파벳으로
s = input()
for i in s:
if i.isupper(): #대문자
if ord(i)+13 > ord('Z'):
print(chr(ord(i) - 26 + 13), end='')
else: print(chr(ord(i) + 13), end='')
elif i.islower(): #소문자
if ord(i)+13 > ord('z'):
print(chr(ord(i) - 26 + 13), end='')
else:
print(chr(ord(i) + 13), end='')
else:
print(i, end='')
Reference
この問題について([伯俊]1655 ROT 13), 我々は、より多くの情報をここで見つけました https://velog.io/@youngcheon/백준-11655-ROT13テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol