본문 바로가기

Leetcode 100문제 도전

(32)
[Leetcode 32/100] Next permutation - Medium leetcode.com/problems/next-permutation/ Next Permutation - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 요즘 백준을 위주로 문제를 풀이하고 있는게 조금 지겨워서 리트코드 한번 풀어보았습니다~ 100문제를 언제 다 채울 수 있을까요 ㅎㅎ 문제 풀이 방식 문제 푸는 방식을 이해한다면 단순 구현으로 처리 가능 1. 뒤에서부터 조사하여 오름차순이 끝나는 arr[idx]를 찾는다. 2. 그 다음에 다시 뒤에서부터 조사하면서..
[Leetcode 31/100] Task Scheduler - Medium leetcode.com/problems/task-scheduler/ Task Scheduler - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 풀이 방식 Greedy 풀이 주의할 점 이 문제는 가장 많은 task의 count가 idle의 값을 결정할 수 있다는 것을 깨닫는 것이 중요하다. 노트로 최대한 많은 케이스의 문제를 예시로 직접 작성해보면서 규칙을 찾아서 풀려고 노력했다. 소스코드 class Solution { public int leastInte..
[Leetcode 30/100] Minimum Path Sum - Medium leetcode.com/problems/minimum-path-sum/ Minimum Path Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Leetcode 30번째 풀이 글인데, 사실 포스팅 안한거까지 80문제 정도 풀었다.. 앞으로는 포스팅을 꾸준히 해서 100문제를 빨리 채우려고 한다. 이 문제는 재귀 풀이 방식을 통한 풀이로 TLE가 났는데, 다이나믹 프로그래밍으로 어떻게 풀이했는지 써보려고 한다. 문제 풀이 방식 Recursrion 풀이 주의..
[Leetcode 29/100] Unique Paths - Medium leetcode.com/problems/unique-paths/ Unique Paths - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 풀이 방식 다이나믹 프로그래밍으로 풀이 주의할 점 문제를 접근할 때, 어떤 풀이 방법으로 접근하는지 떠올리는 것이 중요할 것 같다. 다이나믹 프로그래밍의 개념을 학습하고 처음으로 풀이해보았는데, 문제에서 이동 제약 조건이 있어 점화식을 쉽게 세울 수 있었다. 핵심 점화식은 다음과 같다. map[i][j] = map[i-1..
[Leetcode 28/100] Group Anagrams - Medium leetcode.com/problems/group-anagrams/ Group Anagrams - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 풀이 방식 Anagrams의 특징인 정렬했을 때 동일한 문자열을 얻는 것을 활용 map의 value 값을 리스트로 설정하여 코드를 간소화할 수 있었다. 주의할 점 이전부터 지속된 문제점이지만 코드를 작성하기 전 명확한 설계가 필요하다. 소스코드
[Leetcode 27/100] Clone Graph - Medium leetcode.com/problems/clone-graph/ Clone Graph - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 풀이 방식 해시 맵과 BFS를 활용하여 그래프를 한번만 탐색 주의할 점 1. 문제에서 주어진 요구사항은 deepCopy를 반환하는 것이므로 새로운 노드를 생성하는 것 2. 그래프를 인접리스트로 주어진 상황에서 hashmap을 활용하할 수 있다는 것을 바로 캐치하는 것이 중요 할 것 소스코드
[Leetcode 26/100] Number of Islands - Medium leetcode.com/problems/number-of-islands/ Number of Islands - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 풀이 방식 BFS를 활용한 플러드필 주의할 점 배열의 길이를 정사각형이라 생각하지말고 꼼꼼하게 가로 길이, 세로 길이를 체크할 것 다음에는 dfs를 활용해서 풀어보자 소스코드
[Leetcode 25/100] Product of Array Except Self - Medium leetcode.com/problems/product-of-array-except-self/ Product of Array Except Self - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 풀이 방식 1. 왼쪽으로 탐색하면서 곱하기 배열을 만듬. 2. 오른쪽으로 탐색하면서 곱하기 배열을 만듬. 3. 왼쪽과 오른쪽의 연산 결과를 곱한다. 주의할 점 첫번째와 마지막 인덱스를 혼동할 수 있으므로 정확하게 노트에 풀어보기. 소스코드