2024/05 2

[알고리즘] 동적계획법

피보나치 수열: 첫째, 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열 동적계획법이란?: 복잡한 문제를 간단한 여러 개의 하위 문제로 나누어 푸는 방법이 때, 하위 문제의 답을 저장하여 중복 연산을 하지 않음. 동적계획법 문제의 특성중복되는 부분문제 : 작은 하위 문제들이 중복되어 나타난다.최적 부분 구조 : 최적해는 부분 문제의 최적해로부터 구할 수 있다. 시간 복잡도간단한 재귀호출 : 계산하는 양이 대략 2배씩 늘어남. 계산양이 많아지면 느려짐동적계획법: 각 항들은 딱 1번씩만 계산이 됨. n번째 항을 구하기 위해선 n만큼만 시간을 들이면 됨. 공간 복잡도: 하위 문제들의 답을 저장해놓기 때문에 하위 문제의 수만큼 저장공간 필요 동적계획법을 구현하는 테크닉         점화식   ..

자료구조 2024.05.07

[코딩테스트] OX퀴즈

📌 내 코드function solution(quiz) { let result = [] quiz.forEach((item) => { const parts = item.split("=") const func = new Function('return ' + parts[0]); result.push(func() === parseInt(parts[1]) ? "O" : "X") }) return result}- =을 기준으로 계산식과 값을 나누어서 값이 맞는지 비교를 했다.- 처음엔 문자열 계산식을 사용할 수 있는 eval() 을 사용했는데 여러 이유로 위험한 함수여서 사용하지 않고 대신 new Function()을 사용하여 계산식을 계산했다.  📌 다..

코딩테스트 2024.05.04