*문제 출처는 프로그래머스에 있습니다.
문제 제목: 유한소수 판별하기 (0단계)
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120817
문제 설명
나의 풀이
#include <string>
#include <vector>
using namespace std;
int gcd(int a, int b) {
return (a % b == 0 ? b : gcd(b, a % b));
}
int solution(int a, int b) {
int answer = 0;
b /= gcd(a, b);
while (true) {
if (b % 2 == 0) b /= 2;
else if (b % 5 == 0) b /= 5;
else break;
}
if (b == 1) return 1;
else return 2;
return answer;
}
유클리드 호제법을 이용한 풀이 방식을 이용했다.
※ 알아야 할 것
https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95
'코딩테스트(프로그래머스 & 백준) > 프로그래머스-C++' 카테고리의 다른 글
Programmers / 최빈값 구하기 / C++ (0) | 2024.01.31 |
---|---|
Programmers / 실패율 / C++ (0) | 2024.01.31 |
Programmers / 소수 찾기 / C++ (0) | 2024.01.29 |
Programmers / [1차] 비밀지도 / C++ (0) | 2024.01.25 |
Programmers / 문자열 내 마음대로 정렬하기 / C++ (0) | 2024.01.24 |