Doby's Lab

[알고리즘] 백준 14490번: 백대열 (C++) 본문

PS/BOJ

[알고리즘] 백준 14490번: 백대열 (C++)

도비(Doby) 2021. 11. 30. 21:28

https://www.acmicpc.net/problem/14490

 

14490번: 백대열

n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)

www.acmicpc.net

1) 문자열로 입력받아서 while문을 통해 정수로 바꿔주기

2) stoi()를 이용해 문자열 -> 숫자

3) 유클리드 호제법을 이용하여 최대공약수 구하기

4) 두 수에 나눠준 몫을 출력

#include <iostream>
#include <string>
using namespace std;

int gcd(int a, int b) {
	if (a % b == 0) {
		return b;
	}
	return gcd(b, a % b);
}

int main() {
	string value;
	cin >> value;
	string a, b;

	int cnt = 0;
	while (value[cnt] != ':') {
		a += value[cnt];
		cnt++;
	}
	cnt++;

	while (cnt < value.size()) {
		b += value[cnt];
		cnt++;
	}

	int A = stoi(a);
	int B = stoi(b);

	int gcdValue = gcd(A, B);

	cout << A / gcdValue << ':' << B / gcdValue;
	

	return 0;
}
728x90