https://programmers.co.kr/learn/courses/30/lessons/68935?language=c
자연수 n을 3진수로 변환한 후에 그 3진수를 뒤집고, 다시 10진수로 변환하는 문제.
처음부터 저장할때 뒤집어서 저장한 후에 10진수로 변환하면 된다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = 0;
int len = 0;
int arr[32];
while (n) {
arr[len++] = n % 3; // 나머지 저장후
n /= 3; // 3으로 나눈다
}
answer = arr[0];
for (int i = 1; i < len; i++) {
answer = (answer * 3) + arr[i];
}
return answer;
}
'coding_test > programmers' 카테고리의 다른 글
lv1 / 수박수박수박수박수박수? / C (0) | 2021.10.12 |
---|---|
lv1 / 내적 / C (0) | 2021.09.17 |
lv1 / 3진수 뒤집기 / C++ (0) | 2021.09.12 |
lv1 / 두 정수 사이의 합 / C언어 풀이 (0) | 2021.09.09 |
lv1. 문자열을 정수로 바꾸기 (0) | 2021.09.08 |