IT
[algospot/알고리즘] 알고스팟, '왕초보' 난이도 ENCRYPT 풀기
타이젠 개발자, 윤진
2015. 6. 26. 00:00
암호학는 언제나 흥미로운 분야입니다.
작년에 상영했던 이미테이션 게임도 암호/복호를 소재로 다루고 있었지요.
이번 algopost 주제가 암호화입니다.
로마시대에나 썼을 법한 아주 간단한 암호화 방법인데요,
어렵지 않게 코드를 구현할 수 있을겁니다.
- 제목 : ENCRYPT
- 난도 : ☆☆☆☆☆ (0점/5점)
- 문제 : 문자열의 짝수번째 문자를 먼저 적고, 홀수번째 문자를 뒤이어 순서대로 적으세요.
- 답안
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
register int i = 0;
int count = 0;
scanf("%d", &count);
for (; i < count; i++) {
char string[101] = {0, };
char tostring[101] = {0, };
int length = 0;
int j = 0;
int k = 0;
int mid = 0;
scanf("%s", string);
length = strlen(string);
if (!length) continue;
mid = (length + 1) / 2;
for (; j < mid; j++) {
tostring[j] = string[j * 2];
}
for (j = mid; j < length; j++, k++) {
tostring[j] = string[k * 2 + 1];
}
printf("%s\n", tostring);
}
return 0;
}
- for 문을 두번 돌리는데,
첫번째는 짝수번째를 차례대로 복사합니다.
두번째는 첫번째에 입력한 부분에 뒤이어서 홀수번째를 차례대로 복사합니다.
그 외에는 특이할 만한 사항이 없습니다.
쉬어가기 코너 정도로 생각해주세요.
이것으로 algospot에서 총 여섯문제를 풀었습니다.
순위는 2252등에서 1978등으로 상승하였습니다.
끝_