전체 글49 99클럽 코테 스터디 32일차 TIL + DFS/BFS 오늘의 문제 - DFS/BFS프로그래머스 - 무인도 여행https://school.programmers.co.kr/learn/courses/30/lessons/154540풀이 및 접근 방식BFS 풀이from collections import dequedef solution(maps): answer = [] v = [[False for _ in range(len(maps[0]))] for _ in range(len(maps))] def bfs(sx, sy): cnt = int(maps[sx][sy]) v[sx][sy] = True queue = deque([[sx, sy]]) dx = [0, 0, -1, 1] .. 2024. 8. 23. 99클럽 코테 스터디 31일차 TIL + DFS/BFS 오늘의 문제 - DFS/BFS백준 14248번 점프 점프https://www.acmicpc.net/problem/14248풀이 및 접근 방식DFS 풀이from collections import dequeimport sysn = int(sys.stdin.readline()) # 돌의 개수rocks = list(map(int, sys.stdin.readline().split())) # 각 돌에 적혀있는 숫자 리스트s = int(sys.stdin.readline()) # 시작 위치visited = [False for _ in range(n)] # 돌 방문 체크def dfs(x): visited[x] = True lx = x - rocks[x] # 왼쪽 칸 이동 rx = x + rocks.. 2024. 8. 22. 99클럽 코테 스터디 30일차 TIL + 이분탐색 오늘의 문제 - 이분탐색LeetCode - 436. Find Right Interval https://leetcode.com/problems/find-right-interval/풀이 및 접근 방식먼저 문제 이해에 시간이 걸렸던 것 같다.문제의 핵심은 각 구간(interval)의 끝 지점 이후에 시작하는 가장 가까운 구간(interval)의 인덱스를 찾는 것이다. 시작점만 모아놓은 리스트에서 이분탐색을 사용해 현재 구간의 끝지점보다 큰 시작점 중 최소인 시작점을 찾아야겠다고 생각했다.class Solution: def findRightInterval(self, intervals: List[List[int]]) -> List[int]: s_list = [(interval[0].. 2024. 8. 21. 99클럽 코테 스터디 29일차 TIL + 이분탐색 오늘의 문제 - 이분탐색LeetCode - 300. Longest Increasing Subsequencehttps://leetcode.com/problems/longest-increasing-subsequence/ 풀이 및 접근 방식브루트 포스 + DPclass Solution: def lengthOfLIS(self, nums: List[int]) -> int: n = len(nums) dp = [1] * n for i in range(n): for j in range(i): if nums[i] > nums[j]: dp[i] = max(dp[i], dp[j] + 1) .. 2024. 8. 20. 이전 1 2 3 4 ··· 13 다음