자료구조/알고리즘 - 중복 순열/순열/조합, DP의 알고리즘 예시
·
SE Bootcamp 내용 정리
중복 순열/순열/조합 조합: 순서 상관x 순열: 순서 상관 o 중복순열: 순서도 상관x, 중복도 상관x 먼저 반복문(for문)만으로 만들어서 생각해보자 for문을 이용한 순열/조합 중복 순열 중복 순열: 3개 중 3개를 뽑아서 중복 순열을 만든다면? → for 반복문을 3중으로 쓰면 된다 (3중 for문) // 3개 중 3개를 뽑는 중복순열의 예 let result=[]; const game = ['rock', 'paper', 'scissors']; for(let i=0;i < game.length; i++){ for(let j=0;j < game.length; j++){ for(let k=0; k< game.length; k++){ result.push([game[i], game[j], game[k]]..
자료구조/알고리즘 - 코딩 테스트 1
·
SE Bootcamp 내용 정리
Time Complexity(시간 복잡도) 알고리즘 문제는 해답을 찾는 것도 중요하지만, 그만큼 효율적인 방법으로 해결했는지도 중요하다 → 효율성 = 시간 복잡도 시간 복잡도 알고리즘 문제에서 자주 겪게 되는 문제? → 바로, 시간 복잡도 그 의미는? 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 효율적인 알고리즘이란, 입력값이 커짐에 따라 증가하는 시간의 비율을 최소화한 것 이러한 시간 복잡도는 빅-오 표기법으로 나타낸다 Big-O 표기법 시간 복잡도를 표기하는 방법은 아래의 3가지가 있으나 주로 빅-오 표기법을 사용한다 * Big-O(빅-오): 시간 복잡도를 최악의 경우에 대해 나타내는 방법 * Big-Ω(빅-오메가): 최선의 경우 * Big-θ(빅-세타): 중..