연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
[풀이과정 1]
def solution(a, b):
ab = int(str(a) + str(b))
ba = int(str(b) + str(a))
if( ab > ba):
return ab
else :
return ba
[풀이과정 2]
def solution (a, b) :
return max(int(f"{a}{b}", f"{b}{a}"))
이렇게 하면 안되는 이유?
int는 한 번에 하나의 숫자만 변환할 수 있음.
def solution (a, b) :
return max(int(f"{a}{b}"), int(f"{b}{a}"))
각자 int화 시켜줘야 함.
def solution (a, b) :
return int(max(f"{a}{b}", f"{b}{a}"))
이렇게 하면 한 번에 값을 얻을 수 있는데, 숫자도 사전 순으로 인식해서 값을 처리해줌.