PS/LeetCode
-
Problem : https://leetcode.com/problems/evaluate-boolean-binary-tree/ Difficulty : Easy Status : Solved Time : 00:04:22 문제 설명 풀이 DFS로 간단히 접근하자.만약 현재 노드가 리프노드라면, 현재 노드값이 1인지의 boolean 값을 검사하여 반환하자.리프노드가 아니라면, 조건상 Full binary tree이므로 왼쪽과 오른쪽 서브트리가 반드시 존재한다. 왼쪽, 오른쪽 결과물을 현재 노드값에 따라 or 연산, 혹은 and 연산을 가하여 바로 반환하면 된다.비재귀로도 가능하겠지만 재귀면 역시 간단하게 풀린다. 풀이 코드(Python)# Definition for a binary tree node.# c..
2331. Evaluate Boolean Binary TreeProblem : https://leetcode.com/problems/evaluate-boolean-binary-tree/ Difficulty : Easy Status : Solved Time : 00:04:22 문제 설명 풀이 DFS로 간단히 접근하자.만약 현재 노드가 리프노드라면, 현재 노드값이 1인지의 boolean 값을 검사하여 반환하자.리프노드가 아니라면, 조건상 Full binary tree이므로 왼쪽과 오른쪽 서브트리가 반드시 존재한다. 왼쪽, 오른쪽 결과물을 현재 노드값에 따라 or 연산, 혹은 and 연산을 가하여 바로 반환하면 된다.비재귀로도 가능하겠지만 재귀면 역시 간단하게 풀린다. 풀이 코드(Python)# Definition for a binary tree node.# c..
2024.05.16 -
Problem : https://leetcode.com/problems/path-with-maximum-gold Difficulty : Medium Status : Solved Time : ??:??:?? 문제 설명 풀이 DFS로 풀이할 수 있는 문제. 총 grid 영역이 15 x 15이므로, 탐색을 통해 시간 내에 모든 경로를 테스트해 볼 수 있겠다. 풀이 코드 (Python)class Solution: dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] visited = [[]] n = 0 m = 0 def dfs(self, grid: List[List[int]], x : int, y : int, golds : int) -> int : ..
1219. Path with Maximum GoldProblem : https://leetcode.com/problems/path-with-maximum-gold Difficulty : Medium Status : Solved Time : ??:??:?? 문제 설명 풀이 DFS로 풀이할 수 있는 문제. 총 grid 영역이 15 x 15이므로, 탐색을 통해 시간 내에 모든 경로를 테스트해 볼 수 있겠다. 풀이 코드 (Python)class Solution: dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] visited = [[]] n = 0 m = 0 def dfs(self, grid: List[List[int]], x : int, y : int, golds : int) -> int : ..
2024.05.14 -
Problem : https://leetcode.com/problems/score-after-flipping-matrix/ Difficulty : Medium Status : Solved Time : ??:??:?? 문제 설명 풀이 비트마스킹은 너무 느렸다...! 좀 더 간결히, 그리고 문제의 본질을 꿰뚫어야 풀 수 있는 문제였다. 언뜻 보면 모든 경우의 수를 다 테스트해보아야 할 것 같지만, 함정이 있다. score는 이진법으로 계산되므로, 제일 높은 차수(0번째 column)가 모두 1인 경우가 그리디하게 가장 큰 값을 지니게 된다. 즉 column 0을 1로 세팅하도록 하자. 이제 column 1부터 순회를 시작하면 된다. 이 때, column 0이 원래 1인 경우는 row가 뒤집어진 경우이므로..
861. Score After Flipping MatrixProblem : https://leetcode.com/problems/score-after-flipping-matrix/ Difficulty : Medium Status : Solved Time : ??:??:?? 문제 설명 풀이 비트마스킹은 너무 느렸다...! 좀 더 간결히, 그리고 문제의 본질을 꿰뚫어야 풀 수 있는 문제였다. 언뜻 보면 모든 경우의 수를 다 테스트해보아야 할 것 같지만, 함정이 있다. score는 이진법으로 계산되므로, 제일 높은 차수(0번째 column)가 모두 1인 경우가 그리디하게 가장 큰 값을 지니게 된다. 즉 column 0을 1로 세팅하도록 하자. 이제 column 1부터 순회를 시작하면 된다. 이 때, column 0이 원래 1인 경우는 row가 뒤집어진 경우이므로..
2024.05.14 -
Problem : https://leetcode.com/problems/largest-local-values-in-a-matrix Difficulty : Easy Status : Solved Time : ??:??:?? 문제 설명 풀이 최대 n의 크기가 100 이하고, 하나의 result를 확인하는 데는 9개의 셀이 필요하므로 짧은 시간 내에 전체를 전부 브루트포스로 해결해 볼 수 있다. 간단하게 구현만 하면 되는 문제. 풀이 코드(Python)class Solution: def largestLocal(self, grid: List[List[int]]) -> List[List[int]]: n = len(grid) answer = [[0]*(n-2) for _ in ran..
2373. Largest Local Values in a MatrixProblem : https://leetcode.com/problems/largest-local-values-in-a-matrix Difficulty : Easy Status : Solved Time : ??:??:?? 문제 설명 풀이 최대 n의 크기가 100 이하고, 하나의 result를 확인하는 데는 9개의 셀이 필요하므로 짧은 시간 내에 전체를 전부 브루트포스로 해결해 볼 수 있다. 간단하게 구현만 하면 되는 문제. 풀이 코드(Python)class Solution: def largestLocal(self, grid: List[List[int]]) -> List[List[int]]: n = len(grid) answer = [[0]*(n-2) for _ in ran..
2024.05.12 -
Problem : https://leetcode.com/problems/maximize-happiness-of-selected-children Difficulty : Medium Status : Solved Time : ??:??:?? 문제 설명 풀이 릿코드에서 맞닥뜨린 한국적인(?) 문제. 지금껏 릿코드 문제를 풀어서 느꼈던 점은. 왠지 백준 골드문제를 달아줘도 손색없을 난이도였다. 그리디로 접근해보자. 어떻게 사람을 뽑던 간에, 최종적으로 k명의 사람을 뽑으므로 감소치는 최대 k*(k-1)/2명이 될 것이다. happiness value는 음수가 될 수 없다. 즉 매 순간 행복도가 최대치인 아이들을 뽑고, 어느 시점에서 행복도 최대치가 0이라면 감소는 더 이상 적용되지 않는다. 즉 내림차순으로 정..
3075. Maximize Happiness of Selected ChildrenProblem : https://leetcode.com/problems/maximize-happiness-of-selected-children Difficulty : Medium Status : Solved Time : ??:??:?? 문제 설명 풀이 릿코드에서 맞닥뜨린 한국적인(?) 문제. 지금껏 릿코드 문제를 풀어서 느꼈던 점은. 왠지 백준 골드문제를 달아줘도 손색없을 난이도였다. 그리디로 접근해보자. 어떻게 사람을 뽑던 간에, 최종적으로 k명의 사람을 뽑으므로 감소치는 최대 k*(k-1)/2명이 될 것이다. happiness value는 음수가 될 수 없다. 즉 매 순간 행복도가 최대치인 아이들을 뽑고, 어느 시점에서 행복도 최대치가 0이라면 감소는 더 이상 적용되지 않는다. 즉 내림차순으로 정..
2024.05.09 -
Problem : https://leetcode.com/problems/double-a-number-represented-as-a-linked-list Difficulty : Medium Status : Solved Time : ??:??:?? 문제 설명 풀이 LeetCode 및 백준을 지금껏 파이썬으로 풀어봤는데, 이제는 간간히 Go로도 풀이해보려고 한다. 생각보다 Go는 재밌고 편리한 언어이고기왕 어떻게 배워둔 김에 이 경험을 어떻게든 유지보존하고 싶고Go를 다루며 부족했던 점인 Low level에서의 코드 작성 루틴을 더 개발해보고 싶어서라는 이유인데... 각설하고, 문제로 돌아가보도록 하자. 우선 다음 방식을 떠올릴 수 있을 것이다. 링크드리스트를 한번 순회하며 현재 저장된 결과를 구한 다음현..
2816. Double a Number Represented as a Linked ListProblem : https://leetcode.com/problems/double-a-number-represented-as-a-linked-list Difficulty : Medium Status : Solved Time : ??:??:?? 문제 설명 풀이 LeetCode 및 백준을 지금껏 파이썬으로 풀어봤는데, 이제는 간간히 Go로도 풀이해보려고 한다. 생각보다 Go는 재밌고 편리한 언어이고기왕 어떻게 배워둔 김에 이 경험을 어떻게든 유지보존하고 싶고Go를 다루며 부족했던 점인 Low level에서의 코드 작성 루틴을 더 개발해보고 싶어서라는 이유인데... 각설하고, 문제로 돌아가보도록 하자. 우선 다음 방식을 떠올릴 수 있을 것이다. 링크드리스트를 한번 순회하며 현재 저장된 결과를 구한 다음현..
2024.05.08