게임 개발 로그
3일차 / 더 크게 합치기 / C++ / 기초 본문
더 크게 합치기
문제 설명
- 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 12 ⊕ 3 = 123
- 3 ⊕ 12 = 312
- 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
- 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
제한사항
- 1 ≤ a, b < 10,000
입출력 예
a | b | result |
9 | 91 | 991 |
89 | 9 | 898 |
입출력 예 설명
입출력 예 #1
a ⊕ b = 991 이고, b ⊕ a = 919 입니다. 둘 중 더 큰 값은 991 이므로 991을 return 합니다.
입출력 예 #2
a ⊕ b = 898 이고, b ⊕ a = 889 입니다. 둘 중 더 큰 값은 898 이므로 898을 return 합니다.
내 코드
#include <string>
#include <vector>
using namespace std;
int solution(int a, int b) {
int answer = 0;
string sa = to_string(a);
string sb = to_string(b);
if ( sa + sb > sb + sa) answer = stoi(sa + sb);
else answer = stoi(sb + sa);
return answer;
}
- int 를 string 으로 변환하는 함수: to_string()
- string 을 int 로 변환하는 함수: stoi()
다른 사람 풀이
#include <string>
#include <vector>
using namespace std;
int solution(int a, int b) {
return max(stoi(to_string(a)+to_string(b)),stoi(to_string(b)+to_string(a)));
}
- 아주 간단한 방법
- max 만 더 활용해도 코드를 훨씬 간결하게 줄일 수 있다
'코테' 카테고리의 다른 글
백준 11399번: ATM (C++, 실버3) (0) | 2024.12.11 |
---|---|
4일차 / 홀짝에 따라 다른 값 반환하기 / C++ / 기초 (2) | 2023.11.03 |
3일차 / 문자 리스트를 문자열로 변환하기 / C++ / 기초 (0) | 2023.11.02 |
3일차 / 문자열 섞기 / C++ / 기초 (0) | 2023.11.02 |
2일차 / 문자열 겹쳐 쓰기 / C++ / 기초 (2) | 2023.11.01 |