AND 여러개의 조건을 만족시키는 컬럼을 뽑아내기 위해 WHERE 구절에서 사용한다. SELECT ICECREAM_INFO.FLAVOR FROM FIRST_HALF INNER JOIN ICECREAM_INFO ON FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR WHERE FIRST_HALF.TOTAL_ORDER > 3000 AND ICECREAM_INFO.INGREDIENT_TYPE = 'fruit_based' ORDER BY TOTAL_ORDER DESC LIKE 특정 문자열이 포함 돼 있는지 확인한다. SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원도%' ORDER BY FAC..

1. 문제점 1.) 문제배경 leetcode 문제를 풀다가 내가 의도한 것과는 다르게 재귀구문이 동작하는 경우가 있다. 그리고 대부분의 경우 매개변수를 넘겨주거나 할당할 때 slice()나 전개 연산자를 통해 복사해주면 해결이 되었다. 왜 slice()와 전개연산자로 넘겨주지 않으면 이상하게 동작하는 걸까? 2.) 예시코드 const array = [1,2,3]; const array2 = array; array2[0] = 6; console.log(`array: ${array} \n array2: ${array2}`); array를 다른 변수에 할당하고 해당 변수에서 값을 바꿔보았다. array = [1,2,3]; array2 = [6,2,3]; 나는 위 값을 기대했으나 실제로 콘솔에 출력된 값은 기존..

- 알게 된 게 많았던 것 위주로 정리 - 내가 푼 정답이 성능이 잘 나왔던 경우도 있지만... 대부분 성능이 그다지 좋지 못해서 discuss를 많이 참고했다. 1. Longest Substring Without Repeating Characters - 문제: 중복되는 문자가 없는 가장 긴 subString의 길이를 반환하는 문제. - 해결: window sliding 기법, Map 자료구조 사용 // * 중복된 문자가 들어가지 않는 가장 긴 subString을 출력하는 문제 // ! window sliding 기법 + Map 을 사용하여 해결 const legnthOfLongestSubString = (s) => { let stringMap = new Map(); let left = 0; let ma..

1. 버블정렬 (Bubble Sort) 시간복잡도 : 최악 O(N^2) / 최선 O(N^2) / 평균 O(N^2) 버블 정렬은 현재 값과 바로 뒤에 있는 값을 비교하여 차례대로 정렬해주는 정렬이다. 중복 값이 있을 때 중복값의 순서가 바뀌지 않는 stable 정렬이다. 코드 오름차순 const before_list = [7, 6, 4, 4, 25, 3, 9, 5]; console.log(`기존 리스트 : ${before_list}`); function bubble_sort(array) { for(let i=0; i 1회로 줄었다 내림차순은 if 문 안의 연산자를 바꿔주면 된다. 내림차순 function reverse_bubble_sort(array) { for(let i=0; i