반응형

전체 글 315

프로그래머스: 조건에 부합하는 중고거래 댓글 조회하기 - MySQL

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 코드 SELECT A.TITLE, A.BOARD_ID, B.REPLY_ID,B.WRITER_ID, B.CONTENTS, DATE_FORMAT(B.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATEFROM USED_GOODS_BOARD AS AJOIN USED_GOODS_REPLY AS B ON A.BOARD_ID = B.BOARD_ID WHERE DATE_F..

프로그래머스: 서울에 위치한 식당 목록 출력하기 - MySQL

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/131118 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 1. 리뷰 점수의 평균을 계산해야 하기 때문에 `REST_REVIEW` 테이블의 데이터에 기반한 집계 작업이 필요하다. => `REST_REVIEW` 테이블을 기준으로 그룹화를 한다. (GROUP BY A.REST_ID) 2. INNER JOIN을 사용해야 한다. - INNER JOIN은 두 테이블에서 일치하는 레코드만 반환한다. - 이 쿼리에서는 `REST_REVIEW` 테이블에 리..

프로그래머스: 3월에 태어난 여성 회원 목록 출력하기 - MySQL

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/131120 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 코드 SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTHFROM MEMBER_PROFILEWHERE MONTH(DATE_OF_BIRTH) = 3 AND TLNO IS NOT NULL AND GENDER = 'W'ORDER BY MEMBER_ID

프로그래머스: n+1 카드게임 - javascript(구현, 조합)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/258707 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 힌트음, 이 문제는 카드를 선택하고, 넣고 , 빼고 이런식으로 접근하면 절대 못 풀 것 같다. 일단 평범한 나는 그렇다 !! 그 이유는 문제 예시를 봐보자. 1라운드에서 뽑을 수 있는 카드 1,10 이 있다고 치자. 이거를 keep 해놨다가 갑자기 3라운드에서 쓸 수 있는 게임이다. => 이걸 어떤식으로 표현할지,,,? 난 모르겠다 ;;  그리고, 두번째 이유로는 문제를 계속 ..

프로그래머스 SQL: 과일로 만든 아이스크림 고르기 - MYSQL

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/133025 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 SELECT a.FLAVORFROM FIRST_HALF AS aLEFT JOIN ICECREAM_INFO AS bON a.FLAVOR = b.FLAVOR WHERE a.TOTAL_ORDER >3000 AND b.NGREDIENT_TYPE = "fruit_based"ORDER BY a.TOTAL_ORDER DESC;

프로그래머스: 주사위 고르기 - javascript(조합, dfs, 이분탐색)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/258709 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr전체 흐름 아무래도 문제의 전체흐름과 어떤 알고리즘을 사용했는지부터 짚고 가는 것이 좋겠다.  1. 주사위 선택하기- 조합 함수를 사용했다.  - ex) n이 4일 때, 주사위는 1,2,3,4가 있다. => 내가 주사위를 선택할 경우의 수는 "[1,2], [1,3],[1,4],[2,3],[2,4],[3,4]" 인 경우가 될 것이다.  2. 선택할 주사위 중 각각 하나의 수 선택하기 - df..

프로그래머스- 신규 아이디 추천 (정규식)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 풀이 코드 function solution(new_id) { const answer = new_id .toLowerCase() // 1 .replace(/[^\w-_.]/g, '') // 2 .replace(/\.+/g, '.') // 3 .replace(/^\.|\.$/g, '') // 4 .replace(/^$/,..

삽입 정렬 알고리즘

삽입정렬 - 각 숫자를 적절한 위치에 삽입하는 방법 - 필요한 때만 위치를 바꾼다. (선택 정렬과 버블정렬보다 더 빠름) - 시간 복잡도 O(N^2)- 기본적으로 i이전의 값들이 정렬이 되어있다고 가정- 특정한 경우에는 굉장히 빠르게 작동   - 거의 정렬된 상태에 한해서는 어떤 알고리즘보다 빠름 정리) 시간복잡도 O(N^2)를 가지는 정렬 알고리즘 : 선택 정렬, 버블 정렬, 삽입 정렬  내가 작성한 코드 function insertSort(arr){ for(let i=1; i value){ let temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; j-- }..

프로그래머스:주사휘 고르기 - javascript(조합, 백트래킹, 구현)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/258709 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 힌트 정답 풀이 코드 function solution(dice) { const len = dice.length; const groupSize = len / 2; const dices = new Array(len).fill(0).map((_,index)=>index+1) // A가 뽑을 조합의 경우를 구하는 함수 const getCombinati..

버블 정렬 알고리즘

현재 값과 다음값을 비교해서 더 큰 값을 뒤로 배치한다. => 이 과정을 반복하다 보면  가장 큰 값인 5가 맨 뒤로 가게 됐다. 이 과정을 반복해보자가장 큰 값인 4가 맨 뒤로 가게 됐다. 이 과정을 반복해보자.  이 쯤 눈치를 챘는가? 배열 전체를 통해 숫자를 비교하는 횟수가 점점 줄어들고 있다. 이유) - 한번 배열 훑는 과정거칠 때마다 가장 큰 값이 맨 뒤에 고정된다. => 그러니, 그 숫자 이전까지만 배열을 훑어주면 된다.  특징 - 시간 복잡도는 O(N^2)- 선택 정렬 알고리즘도 시간 복잡도는 O(N^2)이지만, 버블 정렬 알고리즘 수행시간이 더 오래 걸린다. => 이유: 버블 정렬은 매 순간 숫자들의 위치를 이동시키기 때문이다. 선택 정렬은 전체 배열 훑은 다음에 가장 작은 값을 맨 앞에 ..

반응형