IT(44)
-
Leetcode 46. Permutations - Python (cf. 백준 10974)
Leetcode 46 문제 보기 문제 이해하기 주어진 숫자 리스트 nums의 원소들을 이용하여 생성가능한 순열을 출력하라. 이 때 가능한 순열들의 출력은 어떤 순서로 해도 상관없다. 아이디어 구상 반복문을 이용한 iterative한 방법, 재귀를 통한 recursive한 방법 등 다양한 방법으로 문제를 풀 수 있다. 그 중 온라인 코딩 테스트에서는 순열을 생성하는 라이브러리를 활용해서 쉽게 구하도록 하자. 파이썬의 경우, itertools를 활용하면 된다. class Solution: def permute(self, nums: List[int]) -> List[List[int]]: return list(itertools.permutations(nums)) 하지만 만약 화이트보드 인터뷰라면? Decisio..
2022.03.18 -
Leetcode 79. Word Search - Python (cf. 백준 15705)
Leetcode 79 문제 보기 문제 이해하기 m x n grid 한 칸(cell) 당 대소문자 알파벳이 한 글자씩 들어가있다. 이 때, 주어진 word를 grid에서 찾을 수 있다면 true, 찾을 수 없다면 false를 return한다. 탐색 규칙은 다음과 같다. 수직, 수평으로 탐색을 하되 중간에 방향을 틀 수도 있다. 또한 한 번 방문한 cell은 재방문할 수 없다. 아이디어 구상 손으로 문제를 푼다면 본 문제를 어떻게 풀 수 있을까? 우선 하나의 cell을 찍고 이 cell이 주어진 word의 첫 글자와 일치하는지 비교한다. 그리고 주어진 탐색 규칙에 맞게 탐색하며 과연 word가 존재할지 알아본다. 만약 word를 발견했다면 true를 return하고 탐색을 종료, 발견하지 못했다면 다음 ce..
2022.03.17