문제 풀이/프로그래머스 알고리즘, SQL
[프로그래머스 SQL] 보호소에서 중성화한 동물(join)
programmers.co.kr/learn/courses/30/lessons/59045 코딩테스트 연습 - 보호소에서 중성화한 동물 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr WHERE조건에서 문자열 검색을 이용해서 풀었다. SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME FROM ANIMAL_INS AS A LEFT JOIN ANIMAL_OUTS AS B ON A.ANIMAL_ID = B.ANIMAL_I..
[프로그래머스 SQL] 오랜 기간 보호한 동물(1) (join)
programmers.co.kr/learn/courses/30/lessons/59044 코딩테스트 연습 - 오랜 기간 보호한 동물(1) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr JOIN을 이용해서 풀었는데 들어왔지만 나가지 않은 동물 중 기간이 오래된 3마리를 출력하는 것이다. INS에 LEFT JOIN OUTS를 해주었고, 나가지 않았다면 OUTS에 정보가 없을 것이므로 OUTS.ANIMAL_ID IS NULL로 제외시켰다. 또..
[프로그래머스 SQL] 있었는데요, 없었습니다 (join)
programmers.co.kr/learn/courses/30/lessons/59043 코딩테스트 연습 - 있었는데요 없었습니다 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 두 개의 테이블(ANIMAL_INS, ANIMAL_OUTS)이 주어지고 들어온 날짜보다 나간 날짜가 더 빠른 데이터의 ID와 NAME을 출력한다. 테이블 JOIN을 이용해야 하는데 테이블 A, B가 있다고 하면 테이블 A LEFT JOIN ON 공통 키이다. = ..
[프로그래머스 SQL] NULL 처리하기
programmers.co.kr/learn/courses/30/lessons/59410 코딩테스트 연습 - NULL 처리하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr SELECT ANIMAL_TYPE, ifnull(name, 'No name'), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID; SELECT에서 ifnull로 처리하면 null값이 치환돼서 출력된다. ifnull(name,..
[프로그래머스] SQL 문제 정리
MySQL version SELECT - 기본 조회 : SELECT * FROM TABLE_NAME : 테이블에서 모든 레코드 조회 - 정렬 : SELECT COLUMN_NAME FROM TABLE_NAME ORDER BY COLUMN_NAME ASC : 순서대로 정렬 (생략 가능) - 역순 정렬 : SELECT COLUMN_NAME FROM TABLE_NAME ORDER BY COLUMN_NAME DESC : 역순으로 정렬 - 조건 여러 개 정렬 : SELECT COLUMN_NAME FROM TABLE_NAME ORDER BY COLUMN_NAME1 ASC COLUMN_NAME2 DESC : COL1으로 정렬 후 같을 시 NAME2로 역순 정렬 - 조건부 조회 : SELECT COLUMN_NAME FR..
[프로그래머스] 3진법 뒤집기 (n진법, bitset) [C++]
programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 기본적인 진법 변환과 비트 연산 문제이다. n진법으로 바꾸고 싶으면 주어진 수를 n으로 나눈 나머지를 차곡차곡 저장해주면 된다. 비트 순서가 역순이니 온전히 변환한 비트를 보고 싶으면 나머지를 스택에 저장한 뒤, 스택에서 pop 해주면 원래 비트 순서로 출력이 될 것이다. 이 문제는 문제 제목처럼 뒤집기이므로 나머지를 스택에 저장..