Lv1. 최대공약수와 최소공배수 (Python)
링크: https://school.programmers.co.kr/learn/courses/30/lessons/12940
내가 작성한 코드
def solution(n, m):
gcd = 0 # 최대공약수 저장할 변수
for i in range(1, min(n, m) + 1): # 1부터 n과 m 중 작은 수까지 하나씩 i에 넣어서 반복
if n % i == 0 and m % i == 0: # i로 n과 m을 나눴을 때 모두 나머지가 0이면 i는 n과 m의 공약수
gcd = i # i는 지금까지 발견한 공약수 중 가장 큰 값이므로 max_divisor를 i로 계속 갱신
lcm = (n * m) // gcd
# 최소공배수 계산
# (n * m)을 최대공약수로 나눈 몫은 최소공배수
return [gcd, lcm]
새로 배운 코드
def solution(n, m):
x, y = max(n, m), min(n, m) # n과 m 중 큰 값을 x, 작은 값을 y에 저장
# y가 0이 될 때까지 반복
# y는 나머지를 의미, 나머지가 0이 되면 종료
while y != 0:
x, y = y, x % y
# 유클리드 호제법
# gcd(x, y) = gcd(y, x%y)이므로
# (x, y)를 (y, x%y)로 갱신
gcd = x # 반복이 끝났을 때 x에는 최대공약수가 저장
lcm = (n * m) // gcd
return [gcd, lcm]
Lv2. 중성화 여부 파악하기 (MySQL)
링크: https://school.programmers.co.kr/learn/courses/30/lessons/59409
내가 작성한 코드
SELECT ANIMAL_ID
,NAME
,CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' OR SEX_UPON_INTAKE LIKE 'Spayed%'
THEN 'O' ELSE 'X' END AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;'코딩테스트' 카테고리의 다른 글
| [26.01.21 코테(Python/MySQL)]-이상한 문자 만들기&가격이 제일 비싼 식품의 정보 출력하기 (0) | 2026.01.21 |
|---|---|
| [26.01.20 코테(Python/MySQL)]-3진법 뒤집기&조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2026.01.20 |
| [26.01.16 코테(Python/MySQL)]-같은 숫자는 싫어&대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2026.01.16 |
| [26.01.15 코테(Python/MySQL)]-직사각형 별찍기&카테고리 별 상품 개수 구하기 (0) | 2026.01.15 |
| [26.01.14 코테(Python/MySQL)]-문자열 다루기 기본&DATETIME에서 DATE로 형 변환 (0) | 2026.01.14 |