3진법 뒤집기

최진훈·2022년 2월 7일
0

programmers

목록 보기
29/73

일단 총 단계를 좀 나누어보면
10진수를 3진수로 -> 앞뒤 반전 -> 다시 10진법으로
이렇게 세단계이다. 그러므로 10진수를 3진수로 바꾸는 것만 해결하면 큰 어려움이 없을 것 같다.

  1. 나머지를 담을 array()a와 몫을 임시로 담으면서 계산할 b를 만든다.
  2. 반복문으로 nb에 넣고 3으로 나누면서 나눠진 몫은 b에 나머지는 a에 더한다.
  3. b가 0보다 작으면 반복문에서 빠져나오므로 나오기 직전 즉, b가 1일때 a 마지막에 1을 더해주고 반복문을 빠져 나올 수 있도록 한다.
  4. 앞뒤 반전이 된 상태로 저장이되므로 10진법으로 바꿔주기 위하여 reverse()를 사용해 a의 맨 뒷자리부터 꺼내 올 수 있도록한다.
  5. a의 원소를 꺼내서 3의index만큼 제곱과 곱해주면 10진수로 바꿔 줄 수 있다.
  6. 모두 더해서 answer에 넣어준다.

레고레고

이 문제도 말로 설명하기가 더 어려운데 풀때는 생각보다 쉽게 할 수 있었다.
테스트를 해보자.

통과!!

profile
레고레고

0개의 댓글