본문 바로가기
[프로그래머스] SELECT 〉Lv1. 여러 기준으로 정렬하기 문제 설명 예시 풀이 방법 이 문제의 핵심은 제목에 나와 있습니다. 여러 기준으로 '정렬'. 결국 ORDER BY가 중요한 문제인 듯싶습니다. 우선 예시 테이블의 칼럼과 같은 결과를 내기 위해 SELECT ANIMAL_ID, NAME, DATETIME 을 씁니다. 다음은 동물 보호소의 동물 정보 테이블 ANIMAL_INS에서 데이터를 가져오기 위해 FROM ANIMAL_INS 를 작성합니다. 이제 가장 중요한 정렬 부분으로 우선 이름 순으로 정렬을 하고 그중 같은 이름만 다른 정렬을 해야 하므로 NAME을 앞에 적는다. ORDER BY NAME ASC, DATETIME DESC 로 마무리를 합니다. 원래대로라면 ASC를 생략하나, 뒤에 나올 DATETIME의 내림차순과 같이 쓰일 수가 있기 때문에 ASC.. 2021. 10. 8.
[프로그래머스] SELECT 〉Lv1. 동물의 아이디와 이름 문제 설명 풀이 방법 아이디와 이름을 조회하므로 SELECT ANIMAL_ID, NAME 을, 동물 보호소에 들어온 동물의 정보를 담은 ANIMAL_INS 테이블로부터 데이터를 가져오기 때문에 FROM ANIMAL_INS 를 작성합니다. 이를 ANIMAL_ID 순으로 즉, ID의 오름차순이므로 ASC를 생략하여 ORDER BY ANIMAL_ID 로 마무리합니다. 문제 풀이 #solution.sql SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID 실행 결과 2021. 10. 7.
[프로그래머스] SELECT 〉Lv1. 어린 동물 찾기 문제 설명 예시 풀이 방법 아이디와 이름을 조회하니까 SELECT ANIMAL_ID, NAME 을, 동물 보호소에 들어온 동물의 정보를 담은 테이블 ANIMAL_INS로부터 데이터 추출하므로 FROM ANIMAL_INS 를 작성합니다. 다음은 조건으로 젊은 동물이라 하였으니 WHERE 조건절을 사용하여 WHERE INTAKE_CONDITION != 'Aged' 를 뽑아냅니다. Aged는 나이가 든 동물을 말하므로 이를 제외한 동물이 조건에 해당하므로 '!=' 연산자를 사용합니다. 결과는 아이디 순(오름차순)으로 정렬하므로 ORDER BY ANIMAL_ID 를 작성합니다. 문제 풀이 #solution.sql SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CON.. 2021. 10. 6.
[프로그래머스] SELECT 〉Lv1. 아픈 동물 찾기 문제 설명 예시 풀이 방법 칼럼에 들어갈 Entity는 동물의 아이디와 이름으로 SELECT ANIMAL_ID, NAME을 적습니다. 이는 동물 보호소에 들어온 동물의 정보가 담긴 테이블 ANIMAL_INS로부터 데이터를 가져오므로 FROM ANIMAL_INS를 작성합니다. 다음으로 아픈 동물이라는 조건을 충족하기 위해 WHERE 조건절을 활용하여 WHERE INTAKE_CONDITION = 'Sick'의 코딩을 짭니다. 결과는 아이디 순이므로 ORDER BY ANIMAL_ID로 SQL문을 완성합니다. 여기서 아이디 순은 아이디가 오름차순(Ascending)으로 정렬되는 것을 말하며 ASC은 ORDER BY의 default 되는 순서이기 때문에 생략해도 무관합니다. 문제 풀이 #solution.sql S.. 2021. 10. 5.
[프로그래머스] SELECT 〉Lv1. 역순 정렬하기 문제 설명 풀이 방법 모든 동물의 이름(NAME)과 보호 시작일(DATETIME)을 조회한다고 하였으니 SELECT NAME, DATETIME을 씁니다. 이 데이터는 동물 보호소에 들어온 동물의 정보가 담긴 테이블 ANIMAL_INS로부터 가져오므로 FROM ANIMAL_INS를 작성합니다. 결과는 ANIMAL_ID의 역순으로 보여달라고 하였으므로 ORDER BY의 Default값인 오름차순(ASC)이 아닌 내림차순을 사용하여 ORDER BY ANIMAL_ID DESC로 마무리합니다. 문제 풀이 #solution.sql SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC 실행 결과 2021. 10. 4.
[프로그래머스] SELECT 〉Lv1. 모든 레코드 조회하기 문제 설명 풀이 방법 모든 동물의 정보를 출력해야 하므로 SELECT * 를 씁니다. 동물보호소에 들어온 모든 동물의 정보를 가진 테이블 ANIMAL_INS로 부터 데이터를 가져 올 것이기 떄문에 FROM ANIMAL_INS를 작성합니다. 이제 나타난 표를 ANIMAL_ID의 순서 즉, 오름차순으로 정렬하므로 ASC(Ascending의 약자)은 생략 가능하여 ORDER BY ANIMAL_ID로 마무리 합니다. 문제 풀이 #solution.sql SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 실행 결과 2021. 10. 3.
최대공약수 최소공배수 구하는 가장 쉬운 법 (ft. 유클리드호제법) 최대공약수(GCD Greatest Common Divisior ) 두 자연수의 공통 약수 중 가장 큰 자연수 ex. 32의 약수 1, 2, 4, 8, 26, 32 24의 약수 1, 2, 3, 4, 6, 8, 12, 24 ∴ GCD(32, 24) = 8 최소공배수(LCM Least Common Multiplier) 두 자연수의 공통 배수 중 가장 작은 자연수 ex. 32의 공배수 32, 64, 96, ... 24의 공배수 24, 48, 72, 96, ... ∴ LCM(32, 24) = 96 또한, 최소공배수는 32*24/GCD(32,24)로도 구할 수 있다. 유클리드 호제법(Euclidean algorithm) 위키에 따르면, 유클리드 알고리즘은 두 자연수 또는 정식의 최대공약수를 구하는 알고리즘의 하나라.. 2021. 9. 15.