Notice
Recent Posts
Recent Comments
Link
Love Every Moment
〔프로그래머스/파이썬〕더 크게 합치기 본문
반응형
출처
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해주세요.
단, a ⊕ b와 b ⊕ a 가 같다면 a ⊕ b 를 return 합니다.
예제
a b result
9 91 991
89 8 898
풀이(1)
def solution(a, b):
strings = list(map(str, [a, b]))
nums = [strings[0] + strings[1], strings[1] + strings[0]]
if int(nums[0]) >= int(nums[1]):
return int(nums[0])
else:
return int(nums[1])
파이썬 오랜만에 써본다고 list 를 아무데다가 막 써보다가 더 복잡하게 풀었다...
그냥 strA, strB = str(a), str(b) 가 더 깔끔할 듯!
풀이(2)
def solution(a, b):
return int(max(str(a)+str(b), str(b)+str(a)))
max()가 문자열 비교에도 쓰인다는 점을 활용하여 단축
풀이(3)
def solution(a, b):
return int(max(f'{a}{b}', f'{b}{a}'))
f-string 을 활용하여 더욱 간략하게 해결 가능
노트
- max() 를 문자열의 비교에도 적극 활용해보자
- f-string 을 더 자주 써보자
반응형
'PROGRAMMING::LANGUAGE > Python' 카테고리의 다른 글
〔프로그래머스/파이썬〕합승 택시 요금(Floyd-Warshall) (0) | 2023.07.07 |
---|---|
〔프로그래머스/파이썬〕길이에 따른 연산 (0) | 2023.07.06 |
〔프로그래머스/파이썬〕문자열 섞기 (0) | 2023.07.03 |
〔백준/파이썬〕11651번 좌표 정렬하기2 (0) | 2022.07.31 |
〔프로그래머스/파이썬〕신고 결과 받기 (+딕셔너리 컴프리헨션 사용법) (0) | 2022.07.01 |
Comments