본문 바로가기

컴퓨터/알고스팟 알고리즘

알고스팟 알고리즘: ENCRYPT [C++]

문제 출처: algospot.com/judge/problem/read/ENCRYPT

 

algospot.com :: ENCRYPT

문자열 암호화 문제 정보 문제 특정 메시지를 암호화 하는 방법은 오랫 동안 다양하게 연구되었다. 그러한 방법들 중에서 가장 간단한 방법을 생각해보자. 특정 문자열을 입력받는다. 편의상 문

algospot.com

1. 코드

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
	int t;
	cin >> t;
	while (t--)
	{
		string a;
		cin >> a;

		for (int i = 0; i < a.length(); i += 2)		//짝수 부분 출력
			cout << a[i];
		for (int i = 1; i < a.length(); i += 2)		//홀수 부분 출력
			cout << a[i];
		cout << endl;
	}
}

(실행)

2. 풀이

문제를 살펴보면 문자열을 입력받고 해당 짝수 부분을 먼저 출력한 뒤 홀수 부분의 문자를 출력하는 문제이다.

int t;
cin >> t;
while (t--)

우선 테스트 케이스 횟수를 입력한 후 그 수만큼 반복해준다.

string a;
cin >> a;

그리고 문자열 입력받는다.

for (int i = 0; i < a.length(); i += 2)		//짝수 부분 출력
	cout << a[i];
for (int i = 1; i < a.length(); i += 2)		//홀수 부분 출력
	cout << a[i];
cout << endl;

그리고 반복문을 이용하여 짝수 부분의 문자를 출력하고, 이어서 홀수 부분의 문자를 출력해준다. 마지막으로 줄 바꿈을 해주면 원하는 결과가 나온다.