본문 바로가기

분류 전체보기

(31)
[BOJ] 5052 전화번호 목록 (Java) 문제 링크https://www.acmicpc.net/problem/5052  문제 풀이NullPointerException 해결맞왜틀!!을 계속 외쳤다. Trie 알고리즘을 사용해서 고쳤는데, IntellJ에서 정상으로 실행된 코드가 백준에서 NullPointerException이 계속 나서 원인을 못찾았었다. for (int idx = 0; idx 처음에는 이렇게 접두사 검사 후 NO를 찾으면 break문을 통해 for문을 멈추고자 했다.하지만, 계속되는 틀림에 왜 안되는가 고민했는데, 초기에 testCase의 String까지 모두 입력을 받는데,중간에 break문으로 for문을 멈추면 telNum을 입력받지 못해서 에러가 난다.Trie 알고리즘으로 insert를 하면서 추가적으로 필요없겠..
[SQL 벼락치기] 코딩테스트 전 SQL 핵심 문법 벼락치기 코딩 테스트 전날 까먹는 문법들을 정리한 것이다!따라서 기본적인 JOIN / SubQuery 문법은 다루지 않고 내가 자주 까먹는 것만 ~~ WITH RECURSIVE자기 자신을 참조하여 쿼리를 실행한다.WITH RECURSIVE CNT AS ( -- Non-Recursive 문장 : 첫번째 루푸에서만 실행된다. SELECT 1 AS n UNION ALL -- Recursive 문장 : 읽어올 때마다 행의 위치가 기억되며 다음 행으로 이동한다. SELECT n + 1 AS num FROM CNT WHERE n  정규표현식REGEXP 또는 RLIKE를 사용하여 정규 표현식 매핑SELECT * FROM your_tableWHERE column_name REGEXP '^a.*..
[PROG] LV4 FrontEnd 개발자 찾기 (MySQL) 문제링크https://school.programmers.co.kr/learn/courses/30/lessons/276035 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 &는 둘다 존재하면 TRUE인것이고, SUM을 한 이유는 스킬코드의 FrontEnd 직무의 숫자를 더해서 더한 값과 개발자의 스킬코드와 비교해봐야한다.코드SELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPERSWHERE SKILL_CODE & ( SELECT SUM(CODE) FROM SKILLCO..
[PROG] LV4 언어별 개발자 분류하기 (MySQL) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/276036 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이엄청 어려웠던 문제!JOIN 조건 (ON D.SKILL_CODE & SC.CODE 0)JOIN SKILLCODES AS SCON D.SKILL_CODE & SC.CODE 0이 조인 조건은 비트 AND 연산을 사용한다.D.SKILL_CODE가 가지고 있는 기술 SC.CODE와 일치하는 비트가 있는 경우 해당 개발자와 기술을 연결한다.& 는 비트 AND 연산자로 D.SKILL_CODE와..
[PROG] LV2 노선별 평균 역 사이 거리 조회하기 (MySQL) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/284531 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이다 풀었는데 왜 틀렸지,,? 하고 많이 고민했다.누계거리를 내림차순 정렬해야 했는데, TOTAL_DISTANCE를 정렬 기준으로 삼으면 (concat 문 들어감)문자열이기 때문에 정확한 크기 비교가 안된다고 한다.따라서 숫자형태로 비교해야 한다.!! -- BEFOREORDER BY TOTAL_DISTANCE-- AFTERORDER BY SUM(D_BETWEEN_DIST) DESC; 코드..
[PROG] LV3 물고기 종류 별 대어 찾기 (MySQL) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/293261 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이번꺼는 서브쿼리가 살짝 난이도가 있었다.처음에 CTE로 max한 length 구해서 name 있는 테이블이랑 JOIN 하려는데, 뭐가 안되는 거다..알고보니 group by 했을 때, ID 값을 뽑아오지 못했다.다시 생각한 방법이 서브쿼리에 length 필터건것 !살짝 난이도가 있어서 lv3다운 문제였다.코드SELECT FI.ID, FN.FISH_NAME, FI...
[PROG] LV2 특정 물고기를 잡은 총 수 구하기 (MySQL) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/298518 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 간단한 문제라서 풀이할 필요 없을듯!코드-- BASS와 SNAPPER의 수를 출력SELECT COUNT(*) AS FISH_COUNTFROM FISH_INFO AS ILEFT JOIN FISH_NAME_INFO AS NON I.FISH_TYPE = N.FISH_TYPEWHERE N.FISH_NAME IN ('BASS', 'SNAPPER')
[PROG] LV3 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (MySQL) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/298519 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  풀이이 문제도 어렵지 않았다! 코드-- 평균 길이가 33cm 이상인 물고기SELECT COUNT(ID) AS FISH_COUNT, MAX(LENGTH) AS MAX_LENGTH, FISH_TYPEFROM FISH_INFOGROUP BY FISH_TYPEHAVING AVG(IFNULL(LENGTH, 10)) >= 33ORDER BY FISH_TYPE;