티스토리 뷰
[Code Jam] 2016 Qualification Round A. Counting Sheep
Chaed 2017. 4. 12. 22:32얼마전에 있던 구글 코드잼 Qualification Round 통과를 위해 연습문제를 몇개 풀었습니다.
이 문제는 2016년도 기출문제네요. 문제는 어렵지 않습니다.
단지 large data-set을 풀어 내야한다는것만 주의하면 되겠습니다.
영어로 문제가 나오다보니 해석하는데 애를 먹을 수 있습니다.
또 정확하게 해석해야지 잘못하면 조바심에 조건들을 놓쳐 문제를 잘 못 풀어낼수도 있습니다.
"문제 링크"
문제에 따르면 주어지는 각 case의 input값을 1,2,3.... 을 곱해서
각 곱하여 나온 결과 값들이 결국에 0~9 자릿값이 모두 나오냐는 문제입니다.
만약 한없이 곱했지만 결국 7이라는 숫자가 나오지 않는다면 INSOMNIA를 출력해야 합니다.
두 가지만 유의해서 풀면 되겠습니다.
1. 언제까지 곱한 뒤 더 이상 반복하지 않고 INSOMNIA를 출력해야 하는가?
2. digit이 출현 했는지 여부를 어떻게 저장하고 이를 언제 완성됐는지 알고 출력하는가?
1번에 대한건 사실 어느정도 직관력(?)이나 수학적인 방법으로 정확히 도출해서 설명하면
좋겠지만 저의 현 상태로는 그게 안되네요.
단지 10^(숫자길이) 이상을 곱하면 결국 더 이상의 새로운 자릿수가 나오지 않겠냐는데 어림짐작으로
풀어 나갔습니다.
이는 33번줄에 나와있습니다.
다음으로 40번줄은 2번을 푸는 코드가 나와있습니다.
어렵진 않습니다. 그냥 숫자를 모두 하나하나 검사하고 trueNumber가 10개면 완성입니다.
문제에 대한 해석은 문제 페이지의 Analysis에 있습니다.
'프로그래밍 > Algorithm_DataStructure' 카테고리의 다른 글
[Code Jam] 2016 Round1B A.Getting the Digits (0) | 2017.04.14 |
---|---|
[Code Jam] 2016 Qualification Round B.Revenge of the Pancakes (0) | 2017.04.13 |
[자료구조] Treap (Heap+Tree) (0) | 2017.03.02 |
트리 순회 순서 변경 (0) | 2017.02.21 |
재하의 금고1 (문자열, 환형시프트) (0) | 2017.02.16 |
- Total
- Today
- Yesterday
- 사천
- compile
- C++
- peram jam
- 중국여행
- Pointer
- STL
- 악보
- link
- C language
- Algorithm
- 알고리즘
- linux
- Spring
- printf
- 이루마
- 드럼
- regex
- 중국
- python
- Codejam
- kernerl
- cpp
- 피아노
- 문자열
- 여행
- 코드잼
- 정규표현식
- yiruma
- 카카오 공채
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |