문제 설명
연산 @는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 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 | 8 | 898 |
입출력 예 설명
입출력 예 #1
- a@b = 991 이고, b@a = 919 입니다. 둘 중 더 큰 값은 991이므로 991을 return 합니다.
입출력 예 #2
- a@b = 898 이고, b@a = 889 입니다. 둘 중 더 큰 값은 898이므로 898을 return 합니다.
해결
내 풀이
def solution(a, b):
answer1 = str(a) + str(b)
answer2 = str(b) + str(a)
if answer1 > answer2:
answer = answer1
elif answer1 < answer2:
answer = answer2
elif answer1 == answer2:
answer = answer1
return int(answer)
다른 풀이
다른 풀이 #1
def solution(a, b):
return int(max(f"{a}{b}", f"{b}{a}"))
다른 풀이 #2
def solution(a, b):
return max(int(str(a)+str(b)), int(str(b)+str(a)))
새로 알게 된 점
다른 풀이 #1 에서 f{}를 이용해 문자열끼리도 크기 비교 가능
다른 풀이 #2 에서 int(max()) 보다 max(int())가 더 나은 형태
'자료구조, 알고리즘' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 [n의 배수] (0) | 2025.02.21 |
---|---|
프로그래머스 코딩테스트 연습 [두 수의 연산값 비교하기] (0) | 2025.02.21 |
프로그래머스 코딩테스트 연습 [문자열 섞기] (0) | 2025.02.20 |
프로그래머스 코딩테스트 연습 [문자열 겹쳐쓰기] (0) | 2025.02.19 |
프로그래머스 코딩테스트 연습 [대소문자 바꿔서 출력하기] (0) | 2025.02.19 |