728x90 코딩테스트준비3 [99클럽 코테 스터디 5일차 TIL] 백준 수열 Swift 오늘의 문제- 백준 수열- https://www.acmicpc.net/problem/2559 오늘의 학습 키워드- N 의 크기와 시간 복잡도- 투 포인터 접근 방법N 의 크기와 시간 복잡도- 입력이 2 - 단순하게 2차원 반복문으로 배열에서 연속적인 합을 구하게 되면- 최대 시간 복잡도는 N * N = 00,000,000,000 이 될 수 도 있다. 투 포인터- 범위를 지정해서 전체 합을 구해야 하는데, 2차원 반복문으로 계산하기에는 시간 복잡도가 크기에 다른 방식을 찾아야 했다.- 시작, 끝 지점을 계산해놓고, 순서대로 인덱스를 증가시키면서 계산하면 시간 복잡도가 줄어들 수 있다. 문제 풀이// 매일 9시 학교에서 측정한 온도// 3 -2 -4 -9 0 3 7 13 8 -3// 연속적인 며칠 동안의 .. 2025. 4. 5. [99클럽 코테 스터디 4일차 TIL] 백준 안전 영역 Swift 오늘의 문제- 백준 안전 영역- https://www.acmicpc.net/problem/2468 오늘의 학습 키워드- BFS(너비 우선 탐색), DFS(깊이 우선 탐색)- BFS + Queue- DFS + Stack BFS (너비 우선 탐색) - 최단 거리, 최소 횟수, 최소 비용 같은 최소 문제를 해결 할 때 자주 사용된다.- 모든 경우를 한 단계씩 탐색하기 때문에 최단 거리 문제에서 유리하다.- Queue 를 사용해서 같은 레벨 순으로 탐색하기 때문에 최단 거리를 자연스럽게 구할 수 있다.- 그래프에서 연결된 영역을 탐색하는 문제에서도 유용하다.- 섬의 개수 찾기, 감염된 영역 구하기, 색칠된 영역 구하기 등 .. DFS (깊이 우선 탐색)- 그래프나 트리에서 한 방향으로 끝까지 탐색한 후, 다시 .. 2025. 4. 3. [99클럽 코테 스터디 2일차 TIL] 백준 피보나치 비스무리한 수열 Swift 오늘의 문제- 백준 피보나치 비스무리한 수열- https://www.acmicpc.net/problem/14495오늘의 학습 키워드- 재귀함수의 문제점, 다이나믹 프로그래밍 (DP) 방식, 피보나치 수열 잘못된 접근 1. 단순하게 재귀 함수로 f(n) = f(n-1) + f(n-3) 로 도전해보았으나 런타임 에러가 발생했다.- 일반적으로 함수 호출이 많아질 경우에는 런타임 에러가 발생한다.- 함수 호출 스택이 쌓이기 때문에 제한이 되는게 아닐까 싶다.2. 중간에 계산한 결과를 Array 에 저장하고 빠르게 반환하도록 했지만, 함수 호출이 많아 런타임 에러로 실패했다.3. 1 해결 방법- 재귀 함수가 아닌 반복문을 이용해 피보나치 비스무리한 수열의 값을 계산했다.- 반복문을 돌면서 해당 인덱스의 값을 계.. 2025. 4. 2. 이전 1 다음 728x90