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");
}
}
반응형