백준 algorithm

백준 2864 - 5와 6의 차이

cosmohoo 2020. 1. 29. 15:17
반응형

문제 설명

 

 

 

숫자 중 5가 들어있는 수를 6으로 바꾸는 함수와
숫자 중 6이 들어있는 수롤 5로 바꾸는 함수를 생성하여 최소합과 최대합을 생성하였다.

 

 

 

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

long FiveToSix(long num)
{
    long tem = num;
    int ten=1;
    while(tem>0)
    {
        int namu=tem%10;
        if(namu==5)
        {
            num-=(namu*ten);
            num+=(6*ten);
        }
        tem/=10;
        ten*=10;
    }
    return num;
}

long SixtoFive(long num)
{
    long tem = num;
      int ten=1;
      while(tem>0)
      {
          int namu=tem%10;
          if(namu==6)
          {
              num-=(namu*ten);
              num+=(5*ten);
          }
          tem/=10;
          ten*=10;

      }
    return num;
}

int main()
{
    long M ,N;
    
    cin >> M >>N;
    
    long Max, Min;
    Max=FiveToSix(M)+FiveToSix(N);
    Min=SixtoFive(M)+SixtoFive(N);
    cout<<Min<<" "<<Max<<'\n';
    
    return 0;
}

반응형