PS/CodeUp

CodeUp / String(문자열) / 1408번 / 암호처리 / C++

KimMinJun 2020. 9. 29. 22:24

문제 설명

인터넷 서비스들은 대부분 아이디와 패스워드(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로 문자형으로 바꿔줘야한다.