본문 바로가기
반응형

알고리즘222

[알고리즘] Valid Sudoku && Sudoku Solver 포인트 오늘은 스도쿠 문제를 관련해서 풀어보았습니다. 스도쿠가 제대로 맞는지 증명을 하는 방법과 스도쿠가 비어있을 때, 스도쿠를 채울 수 있는 그런 방법의 문제입니다. 특히, 재귀하는 방식을 이해하시면 도움이 되실 것 같습니다. 비어있는 칸 찾아서 -> 숫자 채워보고 -> 아니면 돌아와서 -> 다시 비어두고 -> 숫자 채워보고 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def isValidSudoku(self, board: List[List[str]]) -> bool: seen = set() for row in range(9): for col in range(9): number = board[row][col] if number != '.': if((s.. 2021. 8. 21.
[알고리즘] Word Search 포인트 4가지 인접 방향 단어들을 이어가면서 타겟 언어가 있는지, 없는지를 확인하는 알고리즘 입니다. 재귀적으로 처리를 하면서 확인하는 알고리즘입니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def __init__(self) -> None: self.flag = False self.dx = [0, 0, 1, -1] self.dy = [1, -1, 0, 0] def go(self, string: str, cnt: int, board: list, word: str, row: int, col: int) -> None: if self.flag: return if cnt == len(word): if string == word: self.flag = Tru.. 2021. 8. 15.
[알고리즘] 3Sum Closest 포인트 이번 알고리즘은 저번에 풀이한 4Sum 문제와 상당히 유사한 문제 입니다. 문제에서 제한된 값의 크기와 입력범위가 크기 때문에. 시간 초과를 예상할 수 있었습니다. 이에 for loop로 한 번, 이분 탐색으로 한 번의 걸쳐 시간 복잡도를 낮춰 해결할 수 있었습니다. https://leetcode.com/problems/3sum-closest/ 3Sum Closest - 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 아래 문제를 같이 보시면 상당히 많은 .. 2021. 7. 27.
[알고리즘] Convert Sorted Array to Binary Search Tree 포인트 재귀적으로 오름차순 정렬로 bst를 만드는 알고리즘입니다. 코드 전체를 보면, 이분 탐색과도 비슷한 형태를 띄고 있습니다. 이점을 참고하시면 더욱 좋을 것 같습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def sortedArrayToBST(self, nums: List[int]) -> TreeNode: return self.bst(0, len(nums) - 1, nums) def bst(self,left:int, right:int, nums:List[int]) -> TreeNode: if left>right: # 이분 탐색 처럼 움직인다. return mid = left+(right-left)//2 # 다른 언어일 경우, 오버 플로우가 .. 2021. 7. 26.
반응형