728x90

프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 내용, 조건, 예시는 프로그래머스 사이트 참조
알고리즘
- 10진수를 3진수로 변경
- 진수 변환에서는 나눗셈과 나머지 연산을 활용해서 출력
- 출력된 정보는 vector<int>에 저장
저장된 3진수를 앞뒤 반전 후에 10진법으로 변환해야하기 때문에 반복문을 맨뒤에부터 읽어서 3^n씩 곱해서 10진수로 변환 완료

1*(3^0) + 2*(3^1) + 0*(3^2) + 0*(3^3) = 1 + 6 + 0 + 0 = 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <string> #include <vector> using namespace std; int solution(int n) { int answer = 0; vector<int> de3; while(n > 0) { int remainder = n % 3; n = n / 3; de3.emplace_back(remainder); } int k = 1; for(auto it = de3.rbegin(); it != de3.rend(); it++) { answer += k * (*it); k*=3; } return answer; } | cs |
↓↓↓↓↓↓ 유익했다면 하트 뿅 ♥ ↓↓↓↓↓↓
728x90
반응형
'프로그래밍 > 프로그래머스' 카테고리의 다른 글
| Lv1_[개인정보 수집 유효기간, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.02.08 |
|---|---|
| Lv1_[크기가 작은 부분문자열, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.02.07 |
| Lv1_[예산, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.15 |
| Lv1_[최소직사각형, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.14 |
| Lv1_[[1차] 비밀지도, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.13 |
댓글