반응형

n진수 게임 - 프로그래머스

 

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/17687

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 


 

문제 복기

지난 문제와 마찬가지로 이번 문제도 2018 카카오 3차 코딩테스트 문제 중 하나인 것 같다.

지난 문제와 조금 더 쉽게 느껴졌다. 지난 문제는 재귀함수로 문제를 풀었다면,

이번에는 단순 반복문으로 문제를 해결해서 그런 것 같다.

 

매개변수가 많아서 당황할 수 있지만, 단계별로 어떻게 매개변수를 써야하고,

어떤 작업을 순차적으로 할 것인지 정리하여 쉽게 문제를 해결할 수 있었다.

 

 

문제 풀이

1단계

처음으로 해야할 일은 두 자릿수 이상의 수를 모두 한 자리로 푼 값을 한 곳에 저장하고 있는 것이다.

아래의 사진과 같은 정보를 배열에 저장하기로 했다.

 

그 배열의 전체 코드에서의 answer 배열이 되겠다.

 

n진수 게임 - 1단계

 


2단계 

두 번째로 해야할 일은 튜브가 자신의 순서일 때, 말해야 하는 수를 저장하는 배열을 만드는 것이다.

p는 1번이 첫 번째이기 때문에, -1을 해서 시작해야한다. 

p번째부터 인원수만큼 더하여 계속 반복한다.

 

그래서 튜브가 말해야 하는 정답을 담는 배열(answersForTube)을 완성한다.

 


3단계 

join 메서드를 이용해서 문자열로 변환한 후, 문자는 모두 대문자로 통일해야 하기 때문에

toUpperCase 메서드도 사용한다.

마지막으로 t 매개변수를 slice와 함께 사용하여 튜브가 말해야 하는 정답을 정확하게 문자열로 반환하면 끝!

 

n진수 게임 - 프로그래머스

반응형