[백준/c++] 14490번: 백대열

somyeong·2022년 4월 26일
0

코테 스터디

목록 보기
10/52

문제 링크 - https://www.acmicpc.net/problem/14490

🌱 문제

🌱 코드 (풀이는 주석참고)

//14490번: 백대열
#include <iostream>
#include <string>
using namespace std;

//최대공약수 
int gcd(int n,int m){
    if(n%m==0)
    return m;
    else
    return gcd(m,n%m);

}

// n과 m의 최대공약수로 각각의 수를 나누면 최대한 약분한 값이 된다.

string s;
string temp;
int n,m;

int main(){
    cin>>s;
    
    //문자열 입력받아서 n과 m반환하기
    for(int i=0; i<s.size(); i++){
        if(s[i]==':'){
            //n 구하기
            temp=s.substr(0,i);
            n=stoi(temp);

            //m 구하기
            temp=s.substr(i+1,s.length());
            m=stoi(temp);

            //:나오면 더이상 필요없으니까 break
            break;
            
        }
    }


    int num=gcd(n,m);
    cout<<n/num<<":"<<m/num; 
}

느낀점

  • 문자열을 필요한 부분으로 나누는 방법과 string 타입을 int로 바꾸는 방식을 다시 공부하게 되었다
profile
공부한 내용 잊어버리지 않게 기록하는 공간!

0개의 댓글