[Code Up] (1020) 주민 등록 번호 입력받고 ‘-‘ 빼고 출력하기
카테고리: CodeUp
태그: Coding Test Algorithm
C/C++로 풀이했습니다.
출처 : Code Up 문제 풀이. https://codeup.kr/
문제 출처 https://codeup.kr/problem.php?id=1020
첫 번째 풀이
#include <stdio.h>
int main()
{
char str[14];
scanf("%s", str);
for (int i = 0; i < 14; i++)
{
if (str[i] == '-') continue;
printf("%c", str[i]);
}
}
scanf("%s", ...);
로 입력받게 되면, 마지막에 '\0' 문자가 자동으로 입력된다.
마찬가지로
printf("%s", ...);
도 저장되어있는 문자의 마지막까지, 즉 널문자가 나올 때까지 형식에 맞추어 출력해 주라는 의미를 가진다.
char 배열 2 개 선언해서 scanf("%s-%s", str1, str2);
이런식으로도 시도해 봤는데 이건 str1
에 -
까지 들어가버리더라… ‘\0’ 가 들어가야할 마지막 자리에 -
까지 넣어버리는듯 했다. -
도 문자라서 구분이 잘 안되는걸까.
두 번째 풀이
#include <stdio.h>
int main()
{
int f, d;
scanf("%d-%d", &f, &d);
printf("%06d%07d", f, d);
}
그냥 정수로 받아서 앞자리는 6 자리로 출력, 뒷자리는 7자리로 출력하는게 더 깔끔한것 같다.
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기