코딩테스트

[Swift 알고리즘] LeetCode 1689 - Partitioning Into Minimum Number Of Deci-Binary Numbers

유정주 2022. 7. 27. 12:26
반응형

Github

 

GitHub - jeongju9216/SwiftAlgorithm: 스위프트 알고리즘

스위프트 알고리즘. Contribute to jeongju9216/SwiftAlgorithm development by creating an account on GitHub.

github.com

 

문제 링크

 

Partitioning Into Minimum Number Of Deci-Binary Numbers - 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

 

풀이

이번 문제는 매우 어려워 보이지만 알고보면 쉬운 문제입니다.

 

2진수를 이용해 input으로 주어지는 10진수 정수를 만들어야 합니다.

이때 사용되는 2진수 정수의 최소 개수를 구하는 문제인데요.

 

2진수는 0과 1로만 이루어져있기 때문에 결국에는 10진수 수만큼 더해야 합니다.

예를 들어, 5는 1은 5번 더해야 하니 5개의 2진수가 필요하고, 9는 1을 9번 더해야 하니 9개의 2진수가 필요합니다.

따라서 주어진 input의 각 자리수 중 최대 수가 필요한 2진수의 개수입니다.

 

전체 코드

더보기
class Solution {
    func minPartitions(_ n: String) -> Int {
        return Int(String(n.max()!))!
    }
}
// Runtime: 42 ms, faster than 96.61%
// Memory Usage: 14.3 MB, less than 90.68%

아직은 초보 개발자입니다.

더 효율적인 코드 훈수 환영합니다!

공감 댓글 부탁드립니다.

 

 

반응형