본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 2712 : 미국 스타일

반응형

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

 

2712번: 미국 스타일

첫째 줄에 테스트 케이스의 개수 T(1<=T<=1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 숫자는 값이고, 두 번째 등장하는 문자는 단위이다. 값은 소수일 수도 있고, 이 경

www.acmicpc.net

간단 구현문제였습니다.

📕 풀이방법

📔 입력 및 초기화

testcase t, 무게 weight, 단위 unit을 선언 후 입력받습니다.

📔 풀이과정

표에 나와 있는 데로 단위를 바꾸고 환산한 값을 반환하는 getConvertedWeight함수를 수행합니다.

📔 정답출력

함수 수행 결과를 소수점 4째자리까지 출력하고 단위를 출력합니다. 


📕 Code

#include <bits/stdc++.h>
using namespace std;
double t, weight;
string unit;

double getConvertedWeight(){
  if(unit == "kg") {
    unit = "lb";
    return weight * 2.2046;
  }
  if(unit == "lb"){
    unit = "kg";
    return weight * 0.4536;
  } 
  if(unit == "l") {
    unit = "g";
    return weight * 0.2642;
  }
  unit = "l";
  return weight * 3.7854;
}

int main(){
  cin >> t;
  while(t--){
    cin >> weight >> unit;
    printf("%.4f", getConvertedWeight());
    cout << " " << unit << '\n';
  }
}

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.