본문 바로가기

반응형

프로그래머스

[프로그래머스] SQL-GROUP BY 관련 모든 문제 프로그래머스 SQL GROUP BY 문제를 모아서 정리하였습니다. 문제1. 고양이와 개는 몇 마리 있을까 - 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요. SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE GROUP BY를 사용하면 동일한 이름의 데이터가 묶여서 나온다. 여기서 COUNT를 해주면 각 데이터의 갯수를 구할 수 있다. 문제2. 동명 동물 수 찾기 - 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세.. 더보기
[프로그래머스] SQL-SUM,MAX,MIN 관련 모든 문제 프로그래머스 SQL SUM,MAX,MIN 문제를 모아서 정리하였습니다. 문제1. 최댓값 구하기 - 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. SELECT MAX(DATETIME) AS '시간' FROM ANIMAL_INS 단어 그대로 MAX를 사용하면 해당 열에서 가장 큰 값을 반환해 준다. AS는 출력 테이블에 들어갈 이름을 설정해 주는 것이다. 응용 활용 참조 문제2. 최솟값 구하기 - 동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요 SELECT MIN(DATETIME) AS '시간' FROM ANIMAL_INS MAX와 비슷하게 MIN을 사용하면 해당 열에서 가장 작은 값을 반환해 준다. 문제3. 동물 수 구하기 - 동물 .. 더보기
[프로그래머스] SQL-SELECT 관련 모든 문제 프로그래머스 SQL 프로그래머스 SQL 연습문제에서 SELECT 관련 문제들을 모아 정리하였습니다. 문제 1. 모든 레코드 조회하기 - 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다. SELECT * FROM ANIMAL\_INS * 은 모든 것을 의미한다. FROM 다음에 불러올 테이블 명을 작성한다. 문제2. 역순 정렬하기 - 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다. SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY AN.. 더보기
[프로그래머스] level1. 위클리 챌린지 2주차 (javascript) 문제 프로그래머스 문제 링크 나의 풀이 function solution(scores) { //배열 뒤집기 for(let i =0 ; i < scores.length;i++){ for(let j = i ; j < scores[0].length;j++){ let tmp = scores[i][j] scores[i][j] = scores[j][i] scores[j][i] = tmp; } } //최고, 최저점수 제거 for(let i = 0 ; i < scores.length;i++){ const max = Math.max(...scores[i]); const min = Math.min(...scores[i]); if(scores[i][i] === max){ scores[i].splice(i,1); if(scor.. 더보기
[프로그래머스] level2. 큰 수 만들기 (javascript) 문제 프로그래머스 문제 링크 나의 풀이 처음에 나름 풀이를 해보았는데, test케이스만 통과되고 실제 채점을 전부 실패가 떠서 인터넷 검색을 해서 찾아보았다. 다른이의 풀이 [JS] 프로그래머스 - 큰 수 만들기 1. 문제 설명 2. 제한 조건 3. 입출력 예 4. 나의 풀이 쉽게 생각했다가 큰 코 다친 문제다. 예상치 못했던 테스트 케이스 10에서의 시간 초과는 멘붕 그 자체였다. 그런데 이 문제가 탐욕법이라는 taesung1993.tistory.com 위 블로그에서 가져온 코드입니다 :) 친절한 설명이 필요하시다면 읽어보시는걸 추천드립니다! function solution(number, k) { let stack = []; for(let i = 0 ; i < number.length;i++){ let.. 더보기
[프로그래머스] level2. [3차] 압축 (javascript) 문제 프로그래머스 문제 링크 나의 풀이 function solution(msg) { var answer = []; let obj = {}; let arr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" arr = arr.split(""); for(let i = 0 ; i < arr.length;i++){ obj[arr[i]] = i+1 } let max = 1; for(let i = 0 ; i < msg.length;){ let w = msg[i]; for(let j = 0 ; j < max;j++){ const tmpw = msg.substring(i,i+max-j) if(obj[tmpw]){ w = tmpw break; } } let c = msg[i+w.length]; if (!c) c= ".. 더보기
[프로그래머스] level2. 구명보트 (javascript) 문제 프로그래머스 문제 링크 나의 풀이 문제를 제대로 이해하지 못했다. 다른이의 풀이 function solution(people, limit) { var answer = 0; people = people.sort((a,b)=>b-a) for(let i =0, j = people.length-1; i 더보기
[프로그래머스] level2. [3차] 파일명 정렬 (javascript) 문제 프로그래머스 문제 링크 나의 풀이 function solution(files) { var answer = []; answer = files.sort((a,b)=>{ const first = a.toUpperCase().match(/\D+/gi)[0]; const second = b.toUpperCase().match(/\D+/gi)[0]; if(first !== second){ return (first > second) ? 1 : -1 } return +a.match(/\d+/gi)[0] - (+b.match(/\d+/gi)[0]) }) return answer; } split, match를 정규 표현식으로 활용 가능하다는 부분이 중요했던 것 같다. 너무 복잡하게 생각하지 않고 sort 내 함수로 .. 더보기

반응형