본문 바로가기

Python146

[Leetcode]3309. Maximum Possible Number by Binary Concatenation 문제 요약알고리즘 분류:  이진법, 베열 난이도: Medium문제내용:주어진 크기가 3인 정수 배열의 요소들을 이진수로 변환하고, 이들을 다양한 순서로 이어 붙여 만들 수 있는 숫자 중 가장 큰 값을 찾아 반환하여라사이트 주소: https://leetcode.com/problems/maximum-possible-number-by-binary-concatenation/description/문제풀이이번 문제는 3개수를 각 이진법으로 변환하여  여러가지 순서로 이어붙인 다음  10진수로 변환 한것중 가장 큰것을 구하면 된다. 그럼 크게 2가지만 구현 하면된다.3개 숫자 2진수 변환후 이어 붙이 다음 10진수로 변환3개 숫자 순열구현1.  3개 숫자 2진수 변환후 이어 붙이 다음 10진수로 변환 직업 진법을 변.. 2025. 1. 11.
[Leetcode]2391. Minimum Amount of Time to Collect Garbage 문제 요약알고리즘 분류: 누적합, 문자열난이도: Medium문제내용:garbage 배열: 각 집의 쓰레기 종류 ('M', 'P', 'G')를 나타냄.travel 배열: 집 간 이동 시간 제공.각 트럭은 특정 쓰레기  ('M', 'P', 'G') 유형만 수거함.트럭은 집 0번에서 시작하며 필요한 집만 방문 가능.모든 쓰레기를 수거하는 데 필요한 최소 시간을 계산하여사이트 주소: https://leetcode.com/problems/minimum-amount-of-time-to-collect-garbage/description/ 문제풀이 이번 문제는 O(N)만큼 요구하는 문제이다. 그래서 누적합으로 풀어야한다. 누접합 관련 내용은 아래글에서 확인 해보면 된다.https://jih3508.tistory.com.. 2025. 1. 10.
[Leetcode]2161. Partition Array According to Given Pivot 문제 요약알고리즘 분류:  배열, 구현난이도: Medium문제내용:pivot 기준으로 pivot보다 작으면 원쪽으로 들어온 값 순서대로 정렬하고 pivot보다 크면 오르쪽으로 들어온 값 순서대로 정렬하세요.사이트 주소: https://leetcode.com/problems/partition-array-according-to-given-pivot/description/문제풀이이번 문제는 단순한 구현 문제인 일반 적인 정렬 문제는 아니다. 만약 아래와 같이 단순 정렬 하면 오답처리가 될 것이다.그래서 아래와 같이 들어온값 순서 대로 정렬 해야 정답 처리가 될것이다.그래서 아래와 같이 pivot 기준으로 3가지로 구분한 다음 합치기만 하면 구현적인 부분은 끝이다.왼쪽: pivot보다 작을 때중간: pivot이.. 2025. 1. 9.
[Leetcode]948. Bag of Tokens 문제 요약알고리즘 분류:  그리디, 투 포인터난이도: Medium문제내용:초기 에너지(initial power)와 초기 점수(initial score) 0을 가지고 게임을 시작한다.수 배열 tokens가 주어지며, 이 배열의 tokens[i]는 각 토큰의 에너지 값을 나타낸다.각 토큰은 한 번만 사용할 수 있으며, 다음 두 가지 방법 중 하나로 사용할 수 있습니다앞면: 현재 에너지가 tokens[i] 이상인 경우, 토큰 tokens[i]를 사용하여 에너지를 tokens[i]만큼 잃고 점수를 1 증가시킬 수 있습니다.뒷면: 현재 점수가 1 이상인 경우, 토큰 tokens[i]를 사용하여 점수를 1 잃고 에너지를 tokens[i]만큼 얻을 수 있습니다.최대 점수를 반환 하여라사이트 주소: https://le.. 2024. 12. 1.
[BAEKJOON]1965 상자넣기 문제 요약알고리즘 분류: dp, LIS난이도:  Silver2문제내용:상자가 일렬로 있다. 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 있다.. 예를 들어 앞에서부터 순서대로 크기가 (1, 5, 2, 3, 7)인 5개의 상자가 있다면, 크기 1인 상자를 크기 5인 상자에 넣고, 다시 이 상자를 크기 7인 상자 안에 넣을 수 있다.앞의 예에서 차례대로 크기가 1, 2, 3, 7인 상자를 선택하면 총 4개의 상자가 한 개의 상자에 들어가게 된다.상자의 크기가 주어질 때, 한 번에 넣을 수 있는 최대의 상자 개수를 출력하는 프로그램을 작성하시오.사이트: https://www.acmicpc.net/problem/1965문제풀이 이번 문제에는 모든.. 2024. 11. 27.
[BAEKJOON]11055 가장 큰 증가하는 부분 수열 문제 요약알고리즘 분류: dp, LIS난이도:  Silver2문제내용:수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 부분 수열은 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 이고, 합은 113이다.사이트: https://www.acmicpc.net/problem/11055문제풀이 이번 문제에는 모든 경우의 수를 구해서 풀기가 힘들다. 모든 경우의 수를 구하 O(N^N)개 이상으로 나올수 있다. 그래서 이번 문제는 LIS 개념을 적용해서 풀어야 한다. LIS에 대한 개념은 아래 글에서 확인 해보면된.. 2024. 11. 24.