문제
풀이
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int solution(int n) {
int answer = 0;
vector<int> num ;
while(n>0){
num.push_back(n%3);
n /=3;
}
for(int i=0; i<num.size(); i++){
answer += num[i] * pow(3, num.size()-i-1);
}
return answer;
}
pow를 사용해서 3진법을 10진법으로 바꾸어주었다.
다른 사람 코드
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
vector<int> v;
while(n > 0){
v.push_back(n%3);
n/=3;
}
int k = 1;
while(!v.empty()) {
answer += k*v.back();
v.pop_back();
k*=3;
}
return answer;
}
pow를 쓰지 않고 3진수를 10진수로 변경해주었다!
'Algorithm > Programers - C++' 카테고리의 다른 글
[프로그래머스]두 개 뽑아서 더하기 (0) | 2022.02.03 |
---|---|
[프로그래머스]약수의 개수와 덧셈 (0) | 2022.02.03 |
[프로그래머스]포켓몬 / Set (0) | 2022.01.31 |
[프로그래머스]탐욕법 - 체육복 (0) | 2022.01.30 |
[프로그래머스]완전탐색 - 모의고사 (0) | 2022.01.27 |