본문 바로가기

easy67

[Leetcode] 1103. Distribute Candies to People 문제 : https://leetcode.com/problems/distribute-candies-to-people/ candies 개의 사탕을 n명의 사람들에게 배분하려고 한다. 첫 번째 사람에게는 1개, 두 번째 사람에게는 2 ... n번째 사람에게는 n개의 사탕을 나눠준다. 이 후, 다시 첫 번째 사람에게 n+1, 두 번째 사람에게는 n+2 ... n번째 사람에게는 2n개의 사탕을 나눠준다. 이 절차를 모든 사탕을 나눠줄때까지 반복한다. 만일 나눠줄 사탕이 부족하다면 남은 사탕을 해당 사람에게 주고 해당 절차를 종료한다. 사탕을 모두 나눠줬을 때, 사람들이 가지는 사탕의 개수들의 리스트를 구하라. candies를 1, 2, 3 .. 개씩 모든 사람들에게 차례대로 모든 사탕을 소요할 때까지 나눠준다. .. 2021. 12. 21.
[Leetcode] 976. Largest Perimeter Triangle 문제 : https://leetcode.com/problems/largest-perimeter-triangle/ 정수 배열 nums가 주어질 때, 이 길이 중 3개로 면적이 0보다 큰 삼각형을 만들 때, 이들 삼각형들 중 가장 큰 둘레를 구하라. 삼각형을 만들 수 없는 경우 0을 반환하라. 면적이 0보다 큰 삼각형을 만드는 경우는, 길이가 (a c 조건을 만족할 수 없다면 다른 정수들도 해당 조건을 만족할 수 없다. 따라서, nums 배열을 정렬한 뒤, 가장 큰 정수들부터 a, b, c를 선택한 뒤 a + b > c를 만족하는 경우가 나오면 a + b + c가 정답이 된다. 시간복잡도는 O(NlogN). 소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/.. 2021. 12. 21.
[Leetcode] 1446. Consecutive Characters 문제 : https://leetcode.com/problems/consecutive-characters/ 이전 문자와 동일한지 체크하며 동일하면 cnt 변수를 +1, 아니면 1로 갱신하며 탐색하며 갱신된 cnt들 중 최대값이 정답이 된다. 시간복잡도는 O(N) 소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/easy/1446.%20Consecutive%20Characters.cpp 2021. 12. 13.
[Leetcode] 563. Binary Tree Tilt 문제 : https://leetcode.com/problems/binary-tree-tilt/ 이진 트리 루트가 주어지면 모든 트리 노드의 기울기 합을 구하라. 트리 노드의 기울기는 모든 왼쪽 하위트리 노드들의 합, 모든 오른쪽 하위 트리 노드들의 합들 차이의 절대값이다. 만일 하위트리가 없으면 합을 0으로 본다. 정답 전역변수를 하나 두고 왼쪽, 오른쪽 하위트리를 탐색하며 합들을 구한 뒤, 왼쪽 오른쪽 노드들의 합 차이의 절대값을 정답 변수에 더해나간다. 그리고 왼쪽, 오른쪽 자식 노드들의 합 + 현재 노드의 val을 더한 값을 반환한다. 정답 = 0 func getSum(node) { if(node == NULL) return 0 left = getSum(node->left) right = getSu.. 2021. 12. 8.
[Leetcode] 1290. Convert Binary Number in a Linked List to Integer 문제 : https://leetcode.com/problems/convert-binary-number-in-a-linked-list-to-integer/ 0 혹은 1 값을 가지는 노드로 이루어진 linked list가 주어진다. 이를 10진수 값으로 반환하라. 초기값이 0인 정답 변수를 두고 head 노드에서 링크드리스트를 모두 탐색하면서 (2 x 정답 + 탐색노드.val) 로 정답 변수를 갱신해나간다. 시간복잡도는 O(N) 소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/easy/1290.%20Convert%20Binary%20Number%20in%20a%20Linked%20List%20to%20Integer.cpp 2021. 12. 7.
[Leetcode] 1217. Minimum Cost to Move Chips to The Same Position 문제 : https://leetcode.com/problems/minimum-cost-to-move-chips-to-the-same-position/ n의 크기인 position 1차원 배열이 있다. position[i]는 i 번째 칩의 위치를 의미한다. 한 번에 i 번째 칩의 위치를 왼쪽이나 오른쪽으로 두 칸 움직이는 비용은 0이고, 한 칸 움직일 때는 1의 비용이 든다. 모든 칩을 동일한 위치로 옮기려고 할 때 필요한 최소 비용을 구하라. 2만큼 움직이는건 비용이 들지 않으므로 짝수번 움직이는건 비용이 들지 않는 것과 같다. 따라서 0 비용으로 짝수번째 위치에 있는 칩들은 2번으로, 홀수번째 위치에 있는 칩들은 1번으로 먼저 옮긴다. 그리고 짝수, 홀수에 있는 칩들 개수 중 더 작은 개수의 칩들을 반.. 2021. 12. 7.