Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발 일지

1689. Partitioning Into Minimum Number Of Deci-Binary Numbers (최소 십진수 이진수로 분할) 본문

코딩 테스트/LeetCode

1689. Partitioning Into Minimum Number Of Deci-Binary Numbers (최소 십진수 이진수로 분할)

포카리tea 2023. 6. 7. 23:43

각 자릿수가 0 또는 1이고 선행 0이 없는 경우 10진수를 10진수라고 합니다. 예를 들어, 101과 1100은 십이진법이고 112와 3001은 그렇지 않습니다.

양의 10진수 정수를 나타내는 문자열 n이 주어지면 필요한 양의 10진수 숫자의 최소 수를 n까지 합하도록 반환합니다.

 

예시 1:

입력: n = "32"
출력: 3
설명: 10 + 11 + 11 = 32

 

예시 2:

입력: n = "82734"
출력: 8

 

예시 2:

입력: n = "27346209830709182346"
출력: 9

 

조건:

  • 1 <= n. 길이 <= 10^5
  • n은 숫자로만 구성됩니다.
  • n은 선행 0을 포함하지 않으며 양의 정수를 나타냅니다.

 

정답:

public class Solution {
    public int MinPartitions(string n) {
        int result = 0;
        for (int i = 0; i < n.Length; i++)
        {
            if (result < (int)Char.GetNumericValue(n[i]))
            {
                result = (int)Char.GetNumericValue(n[i]);
            }
        }

        return result;
    }
}

해설: 자리수 중 가장 큰 숫자가 최소 수의 합이 되므로 가장 큰 값만 retrun해주었습니다.