Python: 더 크게 합치기(str화 후 int화)

백아름·2023년 9월 30일
0

python

목록 보기
18/28

연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.

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}"))

이렇게 하면 한 번에 값을 얻을 수 있는데, 숫자도 사전 순으로 인식해서 값을 처리해줌.

profile
곧 훌륭해질 거에요!

0개의 댓글