본문 바로가기
프로그래밍/코딩테스트

[Leetcode/Python] 263. Ugly Number

by 민벗 2022. 11. 18.
반응형

문제 링크

 

Ugly Number - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

문제 설명

Ugly Number는 소인수가 2, 3, 5로 제한되는 양의 정수입니다.

정수 n이 주어지면 n이 Ugly Number면 true를 반환합니다.

 

입출력 예시

입력 출력
6 true
1 true
14 false

 

제한 사항

  • -2^31 <= n <= 2^31 - 1

 

문제 풀이

 꽤나 간단한 문제다. 2, 3, 5로 나머지가 안생길때까지 나누고 1이 아닐 경우 false를 리턴하면 된다. 뭔가 더 쉬운 풀이가 있을까 싶었지만, 다른 풀이과정을 찾아보니 그렇지는 않았다.

 

 

 이 문제는 2000개의 좋아요와 1300개의 싫어요를 받았다. 결코 잘만든 문제라고 보긴 어렵지만, 반복되는 부분을 함수로 변경하고, 리턴을 false, true 대신 판단문으로 만들어 버리는 등 코드 가독성을 높이는 방법을 배우는게 좋다.

 

소스코드

class Solution:
    def isUgly(self, n: int) -> bool:
        if n < 1: return False
        while n % 2 == 0:
            n = n / 2
        while n % 3 == 0:
            n = n / 3
        while n % 5 == 0:
            n = n / 5
        if n > 1:
            return False
        return True

 

 

 

코딩 테스트, 어떻게 대비해야 할까?

개발 관련 분야로 취업을 하려면 서류통과 이후 코딩 테스트가 필수입니다. 대기업은 물론이고 대다수의 스타트업도 취업문턱에 코딩 테스트가 준비되어 있습니다. 이처럼 개발 분야에 취업하

msk2021.tistory.com

 

반응형

댓글