[43] 부트캠프 TIL - 본캠프 25일차

2024. 9. 27. 15:46부트캠프 TIL

728x90

1. 프로그래머스 이용한 sql과 알고리즘 문제 해결

1-1)  sql 문제 : 있었는데요 없었습니다

ㄴ 문제 : 동물의 입양일이 잘못입력되었습니다. 보호시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호시작일이 빠른 순으로 조회해주세요.

※ 테이블 2개를 참조해서 조회.

ㄴ 설명_1 : 조회할 컬럼 체크 - (동물아이디, 동물이름)

ㄴ 설명_2 : 2개 테이블 조인할 컬럼 체크 (동물아이디)

ㄴ 설명_3 : 보호시작일 > 입양일 (WHERE문 활용)

ㄴ 설명_4 : 보호시작일 빠른순 조회 (ORDER BY ASC 오름차순 활용)

ㄴ 실제 쿼리 :

SELECT
    a.ANIMAL_ID,
    a.NAME
FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
WHERE a.DATETIME > b.DATETIME
ORDER BY a.DATETIME ASC

 

※ 이런 데이터들은 보호시작일, 입양일을 조회해서 먼저 확인해보고 최종제출하는게 좋다.

ㄴ 보호시작일과 입양일의 날짜가 확실히 잘못되어있는 것을 확인할 수 있다.

 

 

1-2) 알고리즘 문제 : 약수 개수에 따른 덧셈/뺄셈

 

ㄴ처음에 if문 개수가 많이 나와서 이미 구현한 부분에서 개선을했다.

left right범위안에 있는 수를 반복문으로 먼저 구한다.

ㄴ 약수를 구하기 위해 1부터 right끝 수까지 다시 반복문을 실행

ㄴ 약수는 해당수의 나머지가 0일경우이기때문에 0일때 cnt를 증감시켜서 약수개수를 구해온다.

ㄴ 짝수, 홀수 조건을 넣어서 answer에 덧셈 뺄셈을 진행해서 리턴해준다.

728x90