강의 요약/Chapter 3
[자료구조/알고리즘] 퀴즈 오답노트
HungryOcto
2022. 12. 19. 15:35
1. 개념 복습
- 재귀 함수의 정의
자기 자신을 호출하는 함수 - 재귀의 기초 (Base case)
재귀 함수를 구현할 때, 재귀의 탈출 조건 (=재귀 호출이 멈추는 조건)을 구성함 - 재귀를 사용하기 적합한 상황
- 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우
- 중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우
- 반복문으로 작성된 코드를 더욱 간결하고 이해하기 쉽게 작성하고 싶은 경우 - JSON (JavaScript Object Notation) : 자바스크립트 객체 표기법
- 데이터 교환을 위해 만들어진 객체 형태의 포맷
- 자바스크립트의 객체와 다른 규칙을 가진다.
- JSON.stringify를 적용하는 과정을 직렬화한다(serialize)고 함. (객체 -> 문자열)
- JSON.parse를 적용하는 과정을 역직렬화한다(deserialize)고 함. (문자열 -> 객체)
2. 오답 노트
- 다음 중 n-factorial(n!)을 만들기 위해 빈칸에 들어가야 할 가장 적합한 코드를 고르세요.
// 입력값 n : number 타입의 정수 (num > 0)
function fac(n) {
if ( (1)__________ ) {
return (2)__________ ;
}
return (3)__________ ;
}
- 정답 : (1) n === 1, (2) 1, (3) n * fac(n -1)
- 오답 : (1) n === 0, (2) 0, (3) n * fac(n - 1)
- 분석 : "가장" 적합한 코드를 고르라는 문제의 답에는 전자가 더 정답에 가깝기 때문.