-
2908번. 상수IT Tech/PS 2020. 5. 17. 03:44
문제
상근이의 동생 상수는 수학을 정말 못한다.
상수는 숫자를 읽는데 문제가 있다.
이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다.
상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다.
예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다.
따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.
출력
첫째 줄에 상수의 대답을 출력한다.
예제 입력
734 893
예제 출력
437
코드
#include <iostream> using namespace std; int num_convert(string str1) { int num1 = 0; char temp_front = str1.at(0); // 첫자리 저장함 char temp_back = str1.at(2); // 마지막자리 저장함 str1.erase(0, 1); // 첫자리 지우고 str1.pop_back(); // 마지막자리 지우고 str1.replace(0, 0, string(1, temp_back)); // 뽑아놓은 마지막자리를 첫자리로 바꾸고 str1.append(1, temp_front); // 뽑아놓은 첫자리를 마지막으로 넣어준다. num1 = stoi(str1); // 그리고, string을 int로 변경한다. return num1; } int main() { string num1, num2; cin >> num1 >> num2; int num_cmp1 = num_convert(num1); int num_cmp2 = num_convert(num2); if(num_cmp1 < num_cmp2) { cout << num_cmp2 << endl; } else { cout << num_cmp1 << endl; } return 0; }
난잡하게 푼 것 같다..ㅠㅠㅠㅠㅠ
반응형'IT Tech > PS' 카테고리의 다른 글
BOJ 난제 모음 (0) 2020.05.26 5622번. 다이얼 (0) 2020.05.25 2675번. 문자열 반복 (0) 2020.05.16 15596번. 정수 N개의 합 (0) 2020.05.13 8959번. OX퀴즈 (0) 2020.05.12