본문 바로가기
반응형

알고리즘211

[알고리즘] 등산로 조성 포인트 재귀하고 적절한 백 트랙킹을 통해서 길을 뚫어나가는 문제입니다. 재귀 설정을 잘 해주시는 게 중요합니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] def go(x: int, y: int, permit: int, length: int) -> None: """ 값을 찾기 위해 돌아다니는 함수 :param x: int :param y: int :param permit: int :param length: int :return: """ global result if permit < 0: return for i in range(4): nx = x + dx[i] ny = y + dy[i] if not (0 2021. 4. 9.
[알고리즘] 디저트 카페 포인트 DFS를 이용하여 정해진 규칙에 맞게 백트랙킹을 할 수 있냐? 하는 문제입니다. 문제를 해석하는데 조금 어려움이 있었으나 이내 해결을 했었습니다. 저는 보통 코드를 시작할 때 입력과 출력을 먼저 맞춰 두고 생각을 하는 편인데 여러분들이 편한대로 실행을 하시면 좋을 것 같습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python import sys sys.stdin = open('input.txt') dx = [1, 1, -1, -1] dy = [1, -1, -1, 1] def go(x: int, y: int, line: int, sx: int, sy: int) -> None: """ 사각으로 탐색을 하면서 되는 것 안되는 것을 체크하는 재귀하는 함수 :param x:int :pa.. 2021. 4. 9.
[알고리즘] Determine if String Halves Are Alike 포인트 단어를 반으로 나누고 모음(vowels) 개수를 카운팅 하는 문제입니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def halvesAreAlike(self, s: str) -> bool: temp = len(s) // 2 a = s[:temp] b = s[temp:] vowels = 'aeiouAEIOU' acount, bcount = 0, 0 for char in vowels: acount += a.count(char) bcount += b.count(char) return acount == bcount 2021. 4. 7.
[알고리즘] Minimum Operations to Make Array Equal 포인트 문제를 보면서 어떻게 풀까를 조금 생각한 것 같습니다. 하지만 생각보다 간단하게 해결했습니다. 조건을 보시면 값이 같아지려는 수는 n이라는 것을 확인할 수 있습니다. 그러면 최소로 움직이려면 어떤 것을 확인을 하여야 하는가? 를 확인해야 합니다. 저의 아이디어는 홀수로 이어지는 수이기 때문에 가운데를 기준으로 하나를 늘리고 하나를 줄이려면, 즉 가운데를 기준으로 하나씩 늘려가면서 행동하다 보면 값이 같아진다는 아이디어입니다. % 글쓰면서 말하는 연습이 더 필요하네요. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def minOperations(self, n: int) -> int: data = [2*i+1 for i in range(n)] tem.. 2021. 4. 6.
반응형