Computer/Algorithm

Daily Algorithm - 비밀 전화번호

kentakang 2018. 4. 9. 16:55
반응형

문제

코드업 초등학교에 재학중인 명철이는 친구들과 함께 비밀방범대를 만들었다.

그래서 서로 연락처를 공유하던 중, 명철이는 연락처가 새어나가지 않도록 암호로 바꿔서 공유하기로 했다.

여기서 암호를 해독하는 방법은 다음과 같다.

예)

0123456789
lohcgpdabk

입력

첫 번째 줄에 코드표의 문자 10개가 주어진다. (순서대로 0~9이다. 알파벳 소문자만 입력됨. 중복x)

두번째 줄에 암호화된 전화번호 3블럭이 띄워쓰기로 구분되어 입력된다.

출력

암호를 풀은 전화번호를 출력한다. 

주의) 반드시 블럭간에 띄워쓰기를 하여 출력한다.(표현오류)

예제 입력

lohcgpdabk
lol abk abk

예제 출력

010 789 789

풀이


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

int main()
{
char str[10];
char inputStr[33];
char a[11], b[11], c[11];
scanf("%s", str);
scanf("%s%s%s", a, b, c);

strcat(inputStr, a);
strcat(inputStr, " ");
strcat(inputStr, b);
strcat(inputStr, " ");
strcat(inputStr, c);
strcat(inputStr, " ");

for (int i = 0; i < strlen(inputStr); i++)
{
int index = 0;

if (inputStr[i] == ' ')
{
printf(" ");
continue;
}

for (int j = 0; j < 10; j++)
{
if (inputStr[i] == str[j])
index = j;
}

printf("%d", index);
}
}


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



반응형