TIL: Python 학습 내용
오늘 풀어본 문제:
2016년 1월 1일은 금요일입니다. 2016년 a월 b일이 무슨 요일인지 계산하는 문제입니다. 두 수 a, b를 입력받아 해당 날짜의 요일을 반환하는 함수를 작성합니다. 요일의 이름은 "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"입니다.
제한 조건:
- 2016년은 윤년입니다.
- 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)
구체적 구현:
def solution(a, b):
# 각 월의 일수 (2016년은 윤년이므로 2월이 29일입니다)
days_in_month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 요일 배열
days_of_week = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
# 주어진 날짜까지의 일수를 계산
total_days = sum(days_in_month[:a-1]) + b - 1
# 요일 계산
answer = days_of_week[total_days % 7]
return answer
- 초기 설정:
- days_in_month 리스트를 사용하여 각 월의 일수를 정의합니다. 2016년은 윤년이므로 2월은 29일입니다.
- days_of_week 리스트를 사용하여 요일을 정의합니다. 2016년 1월 1일은 금요일(FRI)로 시작합니다.
- 날짜 계산:
- 주어진 월(a) 이전까지의 일수를 모두 합산하고, 해당 월의 일수(b)를 더하여 총 일수를 계산합니다. (이때 1월 1일부터 시작하므로 b에서 1을 뺍니다.)
- 요일 계산:
- 총 일수를 7로 나눈 나머지를 사용하여 요일을 결정합니다. 나머지가 0이면 금요일, 1이면 토요일, ... 6이면 목요일입니다.
- 결과 반환:
- 계산된 요일을 반환합니다.
오늘 배운 점:
- 날짜 계산 문제를 해결하기 위해 리스트와 나머지 연산을 활용하는 방법을 배웠습니다.
- 직접 16년도의 달력을 찾아보며 기입해야해서 번거로웠다고 느꼈으며 문제 자체에 따로 리스트인 "Month" 변수가 있어서 그걸 활용해서 문제를 푸는 식으로 만들어졌으면 더 좋지 않았을까 하는 생각이 들었다.
TIL: SQL 학습 내용
오늘 풀어본 문제:
동물 보호소에 들어온 동물의 정보를 담은 ANIMAL_INS 테이블에서 가장 최근에 들어온 동물의 입소 시간을 조회하는 문제입니다.
구체적 구현:
SELECT MAX(DATETIME) AS 가장 최근에 들어온 시간
FROM ANIMAL_INS;
- MAX 함수 사용:
- MAX 함수를 사용하여 DATETIME 컬럼에서 가장 큰 값을 찾습니다. 이는 가장 최근에 들어온 동물의 입소 시간을 의미합니다.
- 결과 반환:
- 결과 컬럼의 이름은 "시간"으로 지정하여 가장 최근 입소 시간을 반환합니다.
오늘 배운 점:
- 안타깝게도 SQL에서 배운 내용은 없다.
'TIL' 카테고리의 다른 글
본 캠프 21일차 TIL (0) | 2024.07.14 |
---|---|
본 캠프 20일차 TIL (0) | 2024.07.13 |
본 캠프 18일차 TIL (0) | 2024.07.11 |
본 캠프 17일차 TIL (0) | 2024.07.10 |
본 캠프 16일차 TIL (0) | 2024.07.09 |