C++/C++ 알고리즘

백준 2712번 단위 변환 C++ 구현해보기

kimc 2021. 9. 4. 09:15

```

백준 2712번 단위 변환 C++ 구현해보기

```

 

이번 글을 통해 배워갈 내용

  1.  백준 2712번 풀이
  2.  간단한 4자리 정확도 단위변환

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

 

2712번: 미국 스타일

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

www.acmicpc.net

 

 

백준 2712번호번 미국 스타일은

난이도 쉬움 등급의 문제로서

 

무게와 부피가 주어질때

단위를 변환해주고 4자리수로 출력해주는 문제입니다.

 

1킬로그램은 약 2.2046파운드

1파운드는 약 0.4536 킬로그램

1리터는 0.2642 갤런

1갤런은 3.7854 리터로 변환해주면 됩니다.

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


테스트 케이스를 입력받고

테스트 케이스 만큼 반복합니다.

 

단위(숫자)를 담을 double형과

단위(문자열)을 담을 string 형을 선언하고

 

입력을 받은 다음

 

단위(문자열)을 확인해서

해당되는 값으로 단위(숫자)를 바꿔주고

단위(문자열)도 바꿔줍니다.

 

그리고 출력합니다.

 

전체 코드는 다음과 같습니다

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <algorithm>
#include <numeric>
#include <cmath>


int main()
{
	std::cin.tie(NULL);
	std::ios::sync_with_stdio(false);


	int testCaseNum;
	std::cin >> testCaseNum;
	std::cin.ignore();

	for (int i = 0; i < testCaseNum; i++)
	{
		std::string inputStr;
		std::getline(std::cin, inputStr);
		std::stringstream ss(inputStr);
		double tempVal;
		std::string tempStr;

		ss >> tempVal;
		ss >> tempStr;

		double modifierNum = 0;
		if (tempStr == "kg")
		{
			modifierNum = 2.2046;
			tempStr = "lb";
		}
		else if (tempStr == "lb")
		{
			modifierNum = 0.4536;
			tempStr = "kg";
		}
		else if (tempStr == "l")
		{
			modifierNum = 0.2642;
			tempStr = "g";
		}
		else if (tempStr == "g")
		{
			modifierNum = 3.7854;
			tempStr = "l";
		}
		
		tempVal = tempVal * modifierNum;

		std::cout.precision(4);
		std::cout << std::fixed << tempVal <<  " " << tempStr << "\n";
	}
}

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩하시길 바랍니다 ~ :)

 

참조 및 인용

C++ Primer

Introduction to Algorithms


https://codemasterkimc.tistory.com/35

 

C++ 이론을 배울수 있는 곳 정리

개요  C++을 배우는 책, 강의, 블로그, 링크 등을 공유합니다. (링크 및 간략한 설명을 하였으나 만약 원작자가 링크를 거는것을 원치 않을 경우 연락주시기 바랍니다.) 서적 https://www.amazon.com/Prime

codemasterkimc.tistory.com

 

https://codemasterkimc.tistory.com/50

 

300년차 개발자의 좋은 코드 5계명 (Clean Code)

이번 글을 통해 배워갈 내용  좋은 코드(Clean Code)를 작성하기 위해 개발자로서 생각해볼 5가지 요소를 알아보겠습니다. 개요 좋은 코드란 무엇일까요? 저는 자원이 한정적인 컴퓨터 세상에서 좋

codemasterkimc.tistory.com

 


 

728x90