728x90
[백준알고리즘] 2908번: 상수 -C++
풀이 방법이야 여러 가지 있는 것 같다.
모든 숫자는 0이 없이 세 자리 숫자라는 조건 덕분에 각 자리의 숫자를 모두 찾아서 뒤집힌 숫자를 일일이 구할 수도 있다.
나는 여기서 string으로 입력받고 reverse하기로 결정했다.
reverse()의 경우 <algorithm> 헤더에 존재하며 뒤집을 주소의 iterator type의 first와 last를 인자로 받는다.
따라서 begin()과 end()를 사용해 string 객체의 시작과 끝을 지정해주었다.
이후 <string> 헤더의 stoi()를 이용해 string 객체를 int 객체로 만들어주었다.
stoi()를 비롯해 stod(), stof()등 다양한 함수들은 C++11 이후 포함되었다.
#include <iostream>
#include <string>
#include <algorithm>
int main(void)
{
std::string num1, num2;
std::cin >> num1 >> num2;
std::reverse(num1.begin(), num1.end());
std::reverse(num2.begin(), num2.end());
int first = std::stoi(num1);
int second = std::stoi(num2);
std::cout << (first > second ? first : second);
}
잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다
728x90
'algorithm > 백준알고리즘' 카테고리의 다른 글
[백준알고리즘] 2292번: 벌집 -C++ (0) | 2021.01.17 |
---|---|
[백준알고리즘] 2941번: 크로아티아 알파벳 -C++ (0) | 2021.01.16 |
[백준알고리즘] 1152번: 단어의 개수 -C++ (0) | 2021.01.16 |
[백준알고리즘] 1157번: 단어 공부 -C++ (0) | 2021.01.12 |
[백준알고리즘] 2675번: 문자열 반복 -C++ (0) | 2021.01.11 |