반응형
FOSCAR 알고리즘 스터디 3주차 2조 블로깅
스택과 큐 자료구조
- 그래프 탐색 알고리즘 : DFS/BFS
- 탐색(Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정
- 대표적인 그래프 탐색 알고리즘에는 DFS와 BFS가 있음
- DFS와 BFS는 코딩 테스트에서 매우 자주 등장하는 유형이므로 반드시 숙지해야 함
- 스택 자료구조
- 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조
- 입구와 출구가 동일한 형태로 스택을 시각화 할 수 있음
- 큐 자료구조
- 먼저 들어온 데이터가 먼저 나가는 형식(선입선출)의 자료구조
- 큐는 입구와 출구가 모두 뚫려있는 터널과 같은 형태로 시각화 할 수 있음
재귀 함수
- 재귀함수
- 재귀 함수(Recursive Function)란 자기 자신을 다시 호출하는 함수를 의미
- 단순한 형태의 재귀 함수 예제
- '재귀 함수를 호출합니다.'라는 문자열을 무한히 출력합니다.
- 어느 정도 출력하다가 최대 재귀 깊이 초과 메시지가 출력됩니다.
- 재귀 함수의 종료 조건
- 재귀 함수를 문제 풀이에서 사용할 때는 재귀 함수의 종료 조건을 반드시 명시해야 함
- 종료 조건을 제대로 명시하지 않으면 함수가 무한히 호출될 수 있음
- 재구 함수 사용의 유의 사항
- 재귀 함수를 잘 활용하면 복잡한 알고리즘을 간결하게 작성할 수 있음 (단, 오히려 다른 사람이 이해하기 어려운 형태의 코드가 될 수도 있으므로 신중하게 사용해야 함)
- 모든 재귀 함수는 반복문을 이용하여 동일한 기능을 구현할 수 있음
- 재귀 함수가 반복문보다 유리한 경우도 있고 불리한 경우도 있음
- 컴퓨터가 함수를 연속적으로 호출하면 컴퓨터 메모리 내부의 스택 프레임에 쌓임 (그래서 스택을 사용해야 할 때 구현상 스택 라이브러리 대신에 재귀 함수를 이용하는 경우가 많음)
코드 리뷰
백준 25501번 : 재귀의 귀재
https://www.acmicpc.net/problem/25501
25501번: 재귀의 귀재
각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다.
www.acmicpc.net
백준 11866번 : 요세푸스 문제 0
https://www.acmicpc.net/problem/11866
11866번: 요세푸스 문제 0
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
백준 17478번 : 재귀함수가 뭔가요?
https://www.acmicpc.net/problem/17478
17478번: 재귀함수가 뭔가요?
평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대
www.acmicpc.net
백준 17608번 : 막대기
https://www.acmicpc.net/problem/17608
17608번: 막대기
아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로
www.acmicpc.net
반응형
'FOSCAR-(Autonomous Driving) > 알고리즘 스터디' 카테고리의 다른 글
[2023 알고리즘 스터디] 4조 변준형 4주차 - 백준 7562 (1) | 2023.02.19 |
---|---|
[2023 알고리즘 스터디] 1조 김동훈 4주차 - 백준 1388 2606 1260 2644 (1) | 2023.02.17 |
[2023 알고리즘 스터디] 4조 안수빈 3주차 - 백준 10994, 6603, 10799, 13335 (1) | 2023.02.12 |
[2023 알고리즘 스터디] 3조 성동현 3주차 - 백준 2161, 11866, 10994, 6603 (1) | 2023.02.12 |
[2023 알고리즘 스터디] 1조 김예진 3주차 - 백준 25501, 17608, 2161, 17478 (1) | 2023.02.12 |