카테고리 없음

[Programmers] 124나라의 숫자

꾸준함. 2022. 1. 28. 02:18

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/12899

 

코딩테스트 연습 - 124 나라의 숫자

 

programmers.co.kr

알고리즘은 아래와 같습니다.

1. 숫자가 1, 2, 4 즉 2^0, 2^1, 2^2으로 표현되므로 3진법으로 접근하는 것으로 시작합니다.

2. 이제 문제는 n이 3으로 나누어 떨어지는 경우인데 예를 들자면 아래와 같습니다.

2.1 n이 3인 경우 3진법으로 표현하면 10이지만 124 나라의 숫자로는 4로 표현해야 합니다.

2.2 따라서 3으로 나누어 떨어질 경우 몫을 1 줄이고 3을 앞으로 당겨옵니다. 즉, 10이 아니라 3으로 저장해야 합니다.

2.2.1 124 나라에는 0이라는 숫자가 존재하지 않기 때문에 위와 같이...

2.3 3으로 나누어 떨어지지 않는 숫자에 대해서는 기존 3진법 변환처럼 접근하면 됩니다.

3. 2번 과정을 거친 후 각 자리의 숫자를 2^(숫자 - 1)로 변환해주면 정답을 도출할 수 있습니다.

 

 

개발환경: Programmers IDE

 

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형