계수기 만들기 - 구름LEVEL
계수기 만들기
Quiz Info
계수기 만들기
100points
Participant
49
Solved Rate
10.2%
2
10


각 자리마다 최댓값이 다른 숫자판을 가진 계수기를 만들고자 한다. 다음 요건에 따라 계수기를 만들고, 초기 상태에서 입력으로 주어진 횟수만큼 버튼을 눌렀을 때 계수기에 표시되어야 하는 값을 실행 결과로 출력하시오.

이 계수기가 만족해야 하는 요건은 다음과 같다.

  • 이 계수기는 m개의 자릿수를 가지며, 최대 8자리까지 가능하다. (즉, 1 <= m <= 8)
  • i 번째 자리의 최솟값은 항상 0이며, 최댓값 Ni 는 한 자리 정수이다. (즉, 0 <= Ni <= 9 )
  • 각 자리의 최댓값은 서로 다를 수 있다.
  • 한 번 버튼을 누를 때마다 숫자가 하나씩 증가한다.
    • 가장 오른쪽 자리의 숫자가 하나씩 증가하다가, Ni로 정해진 최댓값을 넘어가게 되면 숫자를 최솟값인 0으로 되돌리면서, 바로 왼쪽의 자리의 숫자가 하나 증가한다.
    • 이런 올림은 가장 왼쪽 자리까지 전파되며 가장 왼쪽 자리의 숫자가 최댓값을 넘어갈 때는 자신의 값만 0으로 되돌리고, 왼쪽으로 올림을 전파하지 않는다.
  • 버튼을 누르는 횟수는 10진수로 주어지며, 최소 0회에서 최대 INT_MAX 회까지 가능하다.
  • 실행에 필요한 값은 표준 입력으로 네 줄에 걸쳐 주어지며, 각각 다음과 같다.
    • 숫자판의 개수 m
    • 각 숫자판의 최댓값(Ni) (총 m개)
    • 각 숫자판의 초깃값 (총 m개)
    • 버튼을 누르는 횟수
  • m개의 자릿수를 모두 공백없이 출력한다.
    • 즉, 가장 왼쪽 자리의 숫자가 0이더라도, 해당 숫자를 생략하지 않는다.
  • 단, 입력된 인자에 오류가 있는 경우에는 -1을 출력한다.

예를 들어, 사진의 계수기를 3000회 누른다고 하면, 인자는 다음과 같아야 한다.

4 
9 9 9 9 
7 7 9 3 
3000

그리고, 그 결과로 출력되는 값은 다음과 같아야 한다.

0793

예시 1

입력

2 
7 8 
3 5 
17

출력

54

설명

35에서 시작해서, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54가 되므로 54를 출력한다.

예시 2

입력

5 
8 6 9 7 7 
1 4 5 2 3 
361

출력

15074

설명

결과는 14523에서 시작하여 361번 카운트한 15074을 출력한다.

예시 3

입력

5 
1 2 3 4 5 
9 8 7 6 5 
793

출력

-1

설명

Ni값보다 초기값이 크기 때문에 에러에 해당하는 -1을 출력한다.

Input/Output Example
:
Blank
:
Line Break
:
Tab
Example 1
Input
2
78
35
17
Output
54
Example 2
Input
5
86977
14523
361
Output
15074
Example 3
Input
5
12345
98765
793
Output
-1
⋇ Please keep the input and output formats carefully
Q & A
누구나 질문하고 답변할 수 있는 Q&A 게시판입니다.
다른 수강생들과 질문과 답변을 주고 받으며 함께 성장하세요!

Registered Questions (0)