문제 설명
인터넷 서비스들은 대부분 아이디와 패스워드(password)를 이용한다.
이때 사용되는 패스워드는 여러 가지 방법으로 암호화되어 저장된다.
[어떤 인터넷 서비스의 2가지 암호화 방법]
- 입력받은 문자의 ASCII 코드값 + 2
- (입력받은 문자의 ASCII 코드값 * 7) % 80 + 48
사용자의 패스워드를 2가지 방법으로 암호화한 결과를 출력하는 프로그램을 작성하시오.
입력
첫 번째 줄에 2020자 이내로 구성된 암호를 입력한다.(단, 입력되는 암호에 공백은 포함되어있지 않다.)
출력
① 첫 번째 줄에는 첫 번째 방식으로 암호화한 결과를 출력 한다.
② 두 번째 줄에는 두 번째 방식으로 암호화한 결과를 출력 한다.
입력 예시
TEST
출력 예시
VGUV L3EL
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cin >> str;
for (int i = 0; i < str.length(); i++) {
cout << (char)(str[i] + 2);
}
cout << endl;
for (int j = 0; j < str.length(); j++) {
cout << (char)((str[j] * 7) % 80 + 48);
}
}
간단한 문제이지만, 약간의 생각은 필요한 문제이다.
반복문을 돌면서 문자열 내의 문자들을 아스키연산을 해주면된다.
그렇다고 그대로 출력하면 아스키연산에 의해 숫자가 출력이된다.
그러므로 다시 char로 문자형으로 바꿔줘야한다.
'PS > CodeUp' 카테고리의 다른 글
CodeUp / String(문자열) / 2721번 / 순환 문자열 / C++ (0) | 2020.09.29 |
---|---|
CodeUp / String(문자열) / 1754번 / 큰 수 비교 / C++ (0) | 2020.09.29 |
CodeUp / String(문자열) / 1295번 / 알파벳 대소문자 변환 / C++ (0) | 2020.09.29 |
CodeUp / String(문자열) / 1133번 / 공백이 있는 문자열 입출력 / C++ (0) | 2020.09.29 |