페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
1024
MB
전화번호를 영어로 읽는 방법을 알고 있는가? 이제 그 방법을 설명하겠다.
예를 들어 중국의 전화번호는 11자리이며, 15012233444과 같다. 어떤 사람은 번호를 3-4-4 형식, 즉 150 1223 3444으로 나눈다. 한편 어떤 사람은 번호를 3-3-5 형식, 즉 150 122 33444으로 나눈다. 형식이 다르면 이 번호를 읽는 방법도 달라진다:
150 1223 3444은 하나 다섯 영 하나 더블 둘 셋 셋 트리플 넷으로 읽는다.
150 122 33444은 하나 다섯 영 하나 더블 둘 더블 셋 트리플 넷으로 읽는다.
문제는 다음과 같다:
전화번호 목록과 분할 형식이 주어질 때, 이 번호들을 올바르게 읽는 방법을 출력하라.
규칙:
숫자가 하나만 있으면 그 숫자를 개별적으로 읽는다.
2개의 연속된 숫자에는 더블을 사용한다.
3개의 연속된 숫자에는 트리플을 사용한다.
4개의 연속된 숫자에는 쿼드러플을 사용한다.
5개의 연속된 숫자에는 퀸튜플을 사용한다.
6개의 연속된 숫자에는 섹스튜플을 사용한다.
7개의 연속된 숫자에는 셉튜플을 사용한다.
8개의 연속된 숫자에는 옥튜플을 사용한다.
9개의 연속된 숫자에는 노뉴플을 사용한다.
10개의 연속된 숫자에는 데큐플을 사용한다.
연속된 숫자가 10개보다 많으면 모두 개별적으로 읽는다.
시간 제한: 테스트 세트당 30초. 메모리 제한: 1GB.
1 ≤ T ≤ 100.
1 ≤ N의 길이 ≤ 10.
1 ≤ N의 길이 ≤ 100.
입력의 첫 번째 줄에는 테스트 케이스의 수 T가 주어진다. 이어서 T개의 줄|테스트 케이스가 주어진다. 각 줄에는 전화번호 N과 분할 형식 F가 주어진다. F는 대시(-)로 구분된 한 개 이상의 양의 정수로 이루어지고, 선행 영이 없으며, 그 합은 항상 전화번호의 자릿수와 같다.
각 테스트 케이스에 대해 "Case #x: y"을 포함하는 한 줄을 출력한다. 여기서 x는 테스트 케이스 번호(1부터 시작)이고 y는 단어가 공백으로 구분된 영어 읽기 문장이다.
3
15012233444 3-4-4
15012233444 3-3-5
12223 2-3Case #1: one five zero one double two three three triple four
Case #2: one five zero one double two double three triple four
Case #3: one two double two threeCopyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.