[Code Up] (1020) 주민 등록 번호 입력받고 ‘-‘ 빼고 출력하기

Date:     Updated:

카테고리:

태그:

C/C++로 풀이했습니다.
출처 : Code Up 문제 풀이. https://codeup.kr/


문제 출처 https://codeup.kr/problem.php?id=1020

image

첫 번째 풀이

#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자리로 출력하는게 더 깔끔한것 같다.



🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

CodeUp 카테고리 내 다른 글 보러가기

댓글 남기기