[LeetCode] 1323. Maximum 69 Number

김민우·2022년 11월 7일
0

알고리즘

목록 보기
64/189

- Problem

1323. Maximum 69 Number

6과 9로만 이루어진 정수 num이 주어진다.
정수 num에서 "6은 9로" 혹은 "9를 6으로" 단 한 번만 바꿀 수 있을 때, 최대 값을 리턴한다.


- 내 풀이

class Solution:
    def maximum69Number (self, num: int) -> int:
        copy_num = list(str(num))
        for i in range(len(copy_num)):
            if copy_num[i] == '6':
                copy_num[i] = '9'
                return int("".join(copy_num))
        
        return num

point는 9를 6으로 바꾸는 것은 전혀 고려하지 않아도 된다는 것이다.

또한, python에서 int형은 iterable하지 않기에, str으로 형변환 후 list로 변환하여 순회한다.

주어진 num의 길이만큼 반복문을 돌기에 시간 복잡도는 최악의 경우에도 O(N)을 만족한다.

- 결과

profile
Pay it forward.

0개의 댓글