반응형
문제 링크
문제 설명
숫자 6과 9로만 구성된 양의 정수가 주어집니다. 최대 한 자리 수를 변경하여 얻을 수 있는 최대 수를 반환합니다. (6은 9가 되고 9는 6이 된다.)
입출력 예시
입력 | 출력 |
9669 | 9969 |
9996 | 9999 |
9999 | 9999 |
제한 사항
- 1 <= 입력값 <= 104
- 입력값은 6과 9로만 구성됩니다.
문제 풀이
문제는 간단하다. 6이거나 9인 숫자를 한번 이하로 바꿔서 최대값을 구하는 방법이다. 간단히 생각해도 9에서 6으로 바꿀일은 절대 없어 보인다.
그래서 숫자를 왼쪽에서 부터 하나씩 확인하여 6일경우 9로 바꿔주면된다. 따라서 파이썬의 내장함수인 replace를 통해 이 문제를 해결했다.
소스코드
class Solution:
def maximum69Number (self, num: int) -> int:
str_num = str(num)
return int(str_num.replace('6', '9', 1))
반응형
댓글