SIU
article thumbnail
[SQL] 행을 제한(한정)하고 싶다면 LIMIT과 DISTINCT
SQL 2023. 3. 24. 23:27

오늘도 스터디 과제 3문제를 풀고 코드 리뷰까지 하면서 다양한 쿼리를 사용하였는데 원하는 행을 제한하는 LIMIT과 DISTINCT를 활용할 수 있는 문제를 만났습니다. 최댓값 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/59415 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS ; 이 문제는 사실 MAX 함수로 날짜 중에 가장 높은 값을 하나 조회하면 어려운 문제는 아니다. 그런데 만약 MAX 함수를 안 쓰고 풀면..

article thumbnail
SQL 스터디 1일차
SQL 2023. 3. 23. 23:56

자동차 대여 기록에서 장기/단기 대여 https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT HISTORY_ID , CAR_ID , DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE , DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE , CASE WHEN DATEDIFF(END_DATE,START_DATE) + 1 >= 30 THEN "장기 대여" ELSE "단기 ..

article thumbnail
SQL 스터디를 시작한 이유 (프론트엔드도 SQL 알아야 해?)
SQL 2023. 3. 23. 01:48

프론트는 SQL을 몰라도 되나? 내 대답은 "아니다" 몇 가지 이유가 있다. 1. State 구조화와 관리/제어 state를 관리하는 Redux, 기타 라이브러리에서 상태를 관리하고 action과 event 로직을 분리하여 구조를 단순화하고 있다. state를 sql 데이터베이스 스키마 작성하듯 구조화하고 sql을 이용을 해서 제어를 하는 것이 최선의 방법이라고 생각한다. https://www.youtube.com/watch?v=ErRlyJRqOPY 프론트엔드가 SQL을 배워야 하는 이유 단순 예로 graph ql을 돌린다고 하면 서버 작업보다는 프론트에서 할게 많은데, 적어도 왜 저렇게 entity 구성하고 쿼리를 날리는 지 이해해야 벡엔드 협업에도 힘이 생긴다고 생각한다. (개인적 사견) 2. 코딩테..

article thumbnail
[프로그래머스 레벨1] 체육복 [Javascript/ 그리디]
JavaScript/알고리즘(JS) 2023. 3. 21. 01:35

https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으..

article thumbnail
[프로그래머스 레벨2] 타켓 넘버 [Javascript/ DFS]
JavaScript/알고리즘(JS) 2023. 3. 6. 13:44

문제 유형 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 +, - 선택 (있거나 없거나) 양자 택일은 dfs 또한, 연산 끝이(depth) 있다. (피연산자 개수만큼) 기저조건을 피연산자를 다 사용했을 때와 count 개수 세는 로직과 분리해야 한다. 만약 if(count === numbers.length && sum === target) 이렇게 설계하면 함수 종료 return과 count 둘 중 하나가 안 돌아간다. (무한 호출 ..

article thumbnail
[프로그래머스 레벨2] 가장 큰 수 [Javascript/ 정렬]
JavaScript/알고리즘(JS) 2023. 3. 6. 10:00

문제 유형 : 정렬 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 오름차순 문자열 비교 : 가장 큰 수 구할 때 .sort((a,b) => (b+a) - (a+b)).join("") 내림차순 문자열 비교 : 가장 작은 수 구할 때 .sort((a,b) => (a+b) - (b+a)).join("") 테스트 케이스 주의 [0,0,0,0] => "0" 전체 코드 1) 내림차순 정렬하고 0번째 인덱스가 0인 경우 function solu..

article thumbnail
[프로그래머스 레벨2] H-Index [Javascript/ 정렬]
JavaScript/알고리즘(JS) 2023. 3. 6. 06:05

문제 유형 : 정렬 https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제에서 핵심은 논문 개수 h 최대값을 구해야한다. (배열 요소의 값이 아니다!) 내림 차순으로 정리한 이유는 최댓값을 빨리 찾아 시간 복잡도를 줄이기 위해서다. 문제에서 요구하는 것은 h이상 논문 개수가 h이상 되는 최대값을 찾아야한다 논문 개수가 지금 해당 값 h 이상이기 때문에 h이하인 경우를 세어준다. (자신 의 값보다 논문의 총 개수가 많거나 같아야한다)..

article thumbnail
[프로그래머스 레벨3] 가장 먼 노드 [Javascript/ BFS]
JavaScript/알고리즘(JS) 2023. 3. 5. 09:33

문제 유형 : BFS https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 그래프 문제 (노드, 간선, 최단경로 키워드) 최단 경로가 제일 큰 경우의 집합을 구하는 문제입니다. 그래프를 연결리스트로 구현했습니다. 최단 거리 문제이기 때문에 BFS 알고리즘을 사용했습니다. 전체 코드 function solution (n, edge){ const graph = Array.from(Array(n+1), () => []) // 문제 : 간선은 양..