케이스윔의 개발 블로그

[프로그래머스][카카오] n진수 게임 본문

Algorithm

[프로그래머스][카카오] n진수 게임

kswim 2018. 12. 23. 20:40

문제

숫자를 0부터 시작해서 차례대로 주어진 진법으로 한개씩 말하는 게임에서 튜브가 말해야하는 숫자들을 구하시오.

문제 출처: 프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/17687)


풀이

주어진 규칙에 따라 게임을 할 때 튜브가 말해야할 t번의 숫자를 알아내야합니다. m(인원)*t-1 + p번 반복문을 통해 해당하는 차례에 숫자를 구해봅니다. 우선 어떤 진수를 사용할 지 모르기 때문에 반복문 i가(i는 튜브가 말해야하는 가장 마지막 숫자까지 돕니다.) 돌고 있다면 j를(j는 10진법으로 표현된 돌아가고 있는 숫자) 0부터 시작해서 주어진 진법에 맞게 고쳐주고 고친 숫자를 한칸씩 잘라서 i++ 해줍니다. 풀다보니 반복문이 m(인원)*t-1 + p번 돌리는 것보다 msg.size() < t 로 하는게 더 간단해서 고쳐줬습니다. 전체 큰 반복문 안에서 차례를 세주는 변수와 해당하는 진법으로 바꿔줄 숫자만 헷갈리지 않으면서 한칸씩 잘라서 두가지를 적절히 올려주면 해결할 수 있는 문제입니다!

(해설: http://tech.kakao.com/2017/11/14/kakao-blind-recruitment-round-3/)


코드

https://github.com/kswim/Algorithm/blob/master/etc/17687.cpp

Comments