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)
을 만족한다.