문제
재석이는 대문에 붙이는 (주소를 나타내는) 호수판 제작업체의 직원이다. 고객에게 전달할 호수판은 숫자와 숫자 사이 그리고 왼쪽 오른쪽으로 적당히 여백이 들어가 줘야하고 숫자마다 차지하는 간격이 조금씩 상이하다. 다행이도 규칙은 매우 간단하다.
- 각 숫자 사이에는 1cm의 여백이 들어가야한다.
- 1은 2cm의 너비를 차지해야한다. 0은 4cm의 너비를 차지해야한다. 나머지 숫자는 모두 3cm의 너비를 차지한다.
- 호수판의 경계와 숫자 사이에는 1cm의 여백이 들어가야한다.
예를 들어 위의 120 같은 경우, 각 숫자 사이에 여백이 1cm 씩 2개 들어간다. 1은 2cm, 2는 3cm, 0은 4cm를 차지한다. 오른쪽, 왼쪽 경계에서 각각 여백이 1cm씩 차지한다. 따라서 총 2 + 2 + 3 + 4 + 1 + 1 = 13(cm) 가 된다.
재석이는 고객에게 전달해야할 호수판의 너비가 얼마나 되는지 궁금해졌다. 재석이를 도와주자!
입력
호수판에 들어갈 숫자 N의 범위는 1 ≤ N ≤ 9999 이다.
입력은 마지막에 0이 들어오기 전까지 계속해서 줄 단위로 주어진다.
또한, 마지막의 0은 처리하지 않는다.
출력
각 입력마다 얼마만큼 너비를 차지하는지 정수로 출력하면 된다.
각 출력은 줄바꿈으로 구분되어야한다.
예제 입력 1
120 5611 100 0 |
예제 출력 1
13 15 14 |
더보기
Solution
#include<stdio.h>
int main(void)
{
int N;
scanf("%d", &N);
while(N!=0)
{
int temp=N, length=1;
while(temp>0)
{
length+=temp%10==0?5:temp%10==1?3:4;
temp/=10;
}
printf("%d\n", length);
scanf("%d", &N);
}
return 0;
}
728x90
'백준 알고리즘' 카테고리의 다른 글
<백준 알고리즘> 3896번: 소수 사이 순열 (0) | 2020.12.27 |
---|---|
<백준 알고리즘> 9501번: 꿍의 우주여행 (0) | 2020.12.27 |
<백준 알고리즘> 13416번: 주식 투자 (0) | 2020.12.27 |
<백준 알고리즘> 11134번: 쿠키애호가 (0) | 2020.12.27 |
<백준 알고리즘> 8370번: Plane (0) | 2020.12.26 |