작심삼일

[LeetCode] 1323 | Maximum 69 Number | Python 본문

스터디/코테

[LeetCode] 1323 | Maximum 69 Number | Python

yun_s 2022. 11. 7. 09:31
728x90
반응형

문제 링크: https://leetcode.com/problems/maximum-69-number/


문제

You are given a positive integer num consisting only of digits 6 and 9.

Return the maximum number you can get by changing at most one digit (6 becomes 9, and 9 becomes 6).


조건

  • 1 <= num <= $10^4$
  • num consists of only 6 and 9 digits.

내 풀이

1. replace 미사용

앞에서부터 훑으며 처음으로 6이 나왔을 때 그 6을 9로 바꾼 후 리턴한다.

 

2. replace 사용

replace를 사용하면 여러 '6'이 있을 때 맨 앞의 '6'만 바꿀 수 있다.


코드

1. replace 미사용

class Solution:
    def maximum69Number (self, num: int) -> int:
        num = str(num)
        for idx in range(len(num)):
            if num[idx] == '6':
                num = num[:idx] + '9' + num[idx+1:]
                break
        
        return num

2. replace 사용

str(num).replace('6', '9', 1)
728x90
반응형
Comments