본문 바로가기

알고리즘/Leetcode45

[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.
[Leetcode]1222. Queens That Can Attack the King 문제 요약알고리즘 분류:  배열, 시뮬레이션, 구현난이도: Medium문제내용:8 × 8 체스말이 주어진다. 체스말에서 king 1명, queen N명이 있다.Queem 중에서 왕을 잡을수있는 Queen의 위치들을 반한 하여라단 앞에 가로 막는 퀸이 있으면  그것은 제외 해야 한다.사이트 주소: https://leetcode.com/problems/queens-that-can-attack-the-king/description/문제풀이 이번 문제는 구현 문제중에서 시뮬레이션 문제이다.  각 Queen을 이동 시켜  King까지 갈수 있는지 체크만 하면 되는 문제이다.  일단 퀸이 움직일수있는 방향은 대각선, 가로, 세로 총 8군대이다. 하지만 각 queen이 8방향 탐색하면 시간적으로 비효울이 나와서 반대.. 2024. 10. 27.
[Leetcode]654. Maximum Binary Tree 문제 요약알고리즘 분류:  Tree, 재귀호출난이도: Medium문제내용:nums배열, 리스트를 주어 줬을때 아래와 같은 트리를 완성 하여라nums에서 가장 큰 값을 루트 노드로 만듭니다.가장 큰 값의 왼쪽 부분 배열로 왼쪽 서브트리를 재귀적으로 만듭니다.가장 큰 값의 오른쪽 부분 배열로 오른쪽 서브트리를 재귀적으로 만듭니다.사이트 주소:https://leetcode.com/problems/maximum-binary-tree/description/문제풀이 이번 문제는 이진 트리를 완성시켜야 되고 완성시키기 위해서 재귀호출을 사용 해서 풀것이다. 트리에 대한 자세한 글은 아래 글에서 확인 하여라https://jih3508.tistory.com/87 [알고리즘 이론] 트리(Tree)이론 이번에 볼 자료구조는.. 2024. 10. 5.
[Leetcode]826. Most Profit Assigning Work 문제 요약알고리즘 분류: Two Pointer난이도: Medium문제내용:difficulty, profit, worker 있다.dificulty[i]는 난이도이고 profit[i]는 diffculty[i]수행시 보상이다.worker는 일하는 사람 최대 할수 있는 난이도를 나타내고 diffculty 이하만 수행 할수 있다.worker들이 최대 보상 받을수 있는 합친 값을 나타 내어라사이트 주소: https://leetcode.com/problems/most-profit-assigning-work/description/문제풀이 이번 문제는 브루드포스 같은 모든 경우의 수로 풀면 시간 초과가 난다. 그래서 최적의 시간 복잡도를 돌려야 하는 투포인트 문제이다. 투 포인터 대한 설명은 아래글에 참고하여라https.. 2024. 10. 2.
[Leetcode]2610. Convert an Array Into a 2D Array With Conditions 문제 요약알고리즘 분류: Array, 구현난이도: Medium문제내용:nums 배열/리스트를 준다.nums에 아래조건하에 2차원 리스트로 변경한것을 반환 해야한다..각 리스트에 중복된 숫자가 없어야 한다.사이트 주소: https://leetcode.com/problems/convert-an-array-into-a-2d-array-with-conditions/description/문제풀이 이번 문제는 간단한 구현문제이다. 구현은 아래와 같이 하면된다.2차원 리스트를 선언한다.각 리스트 1행부터 탐색해서 num이 있는지 확인한다.없으면 없는 행에 추가한다.리스트 각 행마다 탐색했는데 다 있으면 새로 행을 추가해서 num을 담는다.이렇게 구현하면 시간 복잡도는 nums 개수 탐색하는것과 리스트 포함하는지 확인.. 2024. 9. 28.