
하늘에 회색 빛깔의 구름이 꼈다. 비가 올 징조중 하나라고 봐야...
우중충해서 텐션이 낮아질 수는 있어도 코드카타는 계속된다.
오늘도 뇌를 원할하게 돌아가기 위해서 열심히 노력해보자!
알고리즘 문제(Python)
알고리즘 문제:약수의 개수와 덧셈
문제의 요지
left의 있는 수부터 right에 있는 수까지의 약수를 구하고
그 약수가 짝수면 합을, 홀수면 차를 해서 총합을 나오게 하면 된다
어떻게 풀어야할까?
for 반복문과 if 조건문을 적절히 잘 활용
코드가 길어질 수 있으니 실수하는 일 없이 바짝 풀어보자
문제를 풀어보자
answer = 0 : 전역변수를 지정
for n in range(left, right+1): : left부터 right까지의 반복하고 그 반복하는 변수n을 지정
리스트 컴프리헨션 확장형 - 반복문 형태
n_list = [] : 값을 넣기위해 빈 리스트를 생성한다
for i in range(1, n+1): : 1부터 n까지 반복하고, 반복하는 변수 i를 지정
if n % i == 0: : n이 i로 나눴을때 나머지가 0인 조건
n_list.append(i) : i를 n_list에 추가한다
if len(n_list) % 2 == 0: : n_list의 길이가 2로 나눴을 때 나머지가 0인 조건(짝수인 조건)
answer += n : 전역변수 answer에 n을 더한다
else: : 그외의 조건
answer -= n : 전역변수 answer에 n을 뺀다
return answer : answer 반환
SQL 문제
SQL 문제: 오랜 기간 보호한 동물 - 1
이번 문제는 테이블이 2개나 있다. 그 말인 즉슨 적절히 활용을 하라는 얘기
문제의 요지
문제는 두 테이블을 바탕으로 보호소에 들어온 날짜만 있고
입양일이 없는 동물의 이름을 단 3마리만 조회해야한다
어떻게 풀어야할까?
다 가져와서 살펴봐야하므로 inner join(교집합)이 아닌 left join(합집합)으로 묶는다
조회할 컬럼: 이름, 입양일
가져올 테이블: animal_ins, animal_outs
조건을 지정할 컬럼(where): 동물 id
정렬할 컬럼(order by): 입양일
제한을 할 컬럼(limit): 입양일
각 컬럼별 해석
from
animal_ins as a left join animal_outs as b
animal_ins 에 a라는 별칭, animal_outs에 b라는 별칭
select
a.name, a.datetime
a테이블의 name과 a테이블의 datetime 조회
where
b.animal_id is null
b테이블의 동물id 가 없는 조건을 한다
'[내일배움캠프 코드카타]' 카테고리의 다른 글
[QA/QC_2기]아침을 깨우는 코드카타(6-14) (2) | 2025.06.17 |
---|---|
[QA/QC_2기]아침을 깨우는 코드카타(6-13) (0) | 2025.06.16 |
[QA/QC_2기]아침을 깨우는 코드카타(6-11) (2) | 2025.06.12 |
[QA/QC_2기]아침을 깨우는 코드카타(6-10) (0) | 2025.06.11 |
[QA/QC_2기]아침을 깨우는 코드카타(6-9) (0) | 2025.06.10 |