Computer/Algorithm

Daily Algorithm - 암호화

kentakang 2018. 4. 3. 16:59
반응형

문제

영어단어를 암호화하여 나타내고자 한다.

암호화하는 방법은 다음과 같다. 단, 대문자는 소문자로 취급한다.

주어진 단어를 암호화하여 나타내는 프로그램을 작성하시오.

입력

첫번째 줄에 영어 단어 한 개가 입력된다.

입력된 단어의 길이는 20자 이내로 한다.

출력

 각 줄마다 한 문자에 해당하는 암호를 출력한다.

예제 입력

test

예제 출력

0001011 0001100 0011010 0001011

풀이


#include <stdio.h>
#include <string.h>

int main()
{
char word[20];
char reverseWord[20];
scanf("%s", word);

for (int i = 0; i < strlen(word); i++)
{
reverseWord[strlen(word) - 1 - i] = word[i];
}

for (int i = 0; i < strlen(word); i++)
{
int position = 0;
int num = reverseWord[i];
int binary[8] = {0,};

while (1)
{
binary[position++] = num % 2;
num /= 2;

if (num == 0)
break;
}

for (int i = position - 1; i >= 0; i--)
{
printf("%d", binary[i] == 0 ? 1 : 0);
}

printf("\n");
}
}



문제 출처 : http://codeup.kr/JudgeOnline/problem.php?id=4058



반응형