티스토리 뷰
알고리즘/Leetcode
[Leetcode] 1689. Partitioning Into Minimum Number Of Deci-Binary Numbers
응애~ 개발자 2024. 3. 21. 15:47728x90
반응형
문제 요약
- 알고리즘 분류: 그리디, 수학
- 난이도: Medium
- 문제내용:
- 각 자리수는 0과 1만 올수 있다.
- 숫자 N을 주어 줬을때 0, 1만 오는10진수 조합된 숫자로 최소 몇번 더하면 되는지 구하여라.
- 사이트 주소: https://leetcode.com/problems/partitioning-into-minimum-number-of-deci-binary-numbers/description/
문제풀이
이번 문제에는 그리디 문제이다. 그리디 관련 자세한 내용은 아래 글에서 참고 하면된다.
https://jih3508.tistory.com/70
문제 접근방법
이번 문제는 간단하게 풀수 있는 문제 이다. 그이유는 각 자리수중 큰 값만 구하면 된다. 0과 1만 되어 있는 숫자중 최대 값이 나올라면 큰 값만큼 1씩 더하면 된다. 나머지 자리는 0과 1 중 어떤한 조합이 와도 가장 높은 수만큼 1의 개수만 채우면 된다. 그러면 N의 정수 자리수만큼 탐색 하기 때문에 시간 복잡도는 O(N)만큼 나온다.
Code
Python
class Solution:
def minPartitions(self, n: str) -> int:
for num in range(9, 0, -1):
if str(num) in n:
return num
Java
class Solution {
public int minPartitions(String n) {
char[] numbers = n.toCharArray();
char maxNum = '0';
for (char number : numbers) {
if(number > maxNum){
maxNum = number;
}
}
return (int) (maxNum - '0');
}
}
728x90
반응형
'알고리즘 > Leetcode' 카테고리의 다른 글
[Leetcode] 91. Decode Ways (1) | 2024.04.05 |
---|---|
[Leetcode] 207. Course Schedule (0) | 2024.03.22 |
[Leetcode] 1631. Path With Minimum Effort (0) | 2024.03.15 |
[Leetcode] 131. Palindrome Partitioning (0) | 2024.03.13 |
[Leetcode] 343. Integer Break (0) | 2024.03.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- level2
- DFS
- 배열
- DP
- BFS
- Greedy
- 자바
- 누적합
- JSCODE
- 백준
- spring-boot
- BaekJoon
- LeetCode
- 넓이 우선 탐색
- Programmerse
- Python
- 동적 계획법
- 백트레킹
- 구현
- 이론
- 동적계획법
- 문자열
- 파이썬
- 조합
- 재귀호출
- java
- 그래프
- 그리디
- 수학
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함