TIL: Python 학습 내용
오늘 풀어본 문제: 문자열로 구성된 리스트 strings와 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하는 문제입니다. 예를 들어, strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
제한 조건:
- strings는 길이 1 이상, 50 이하인 배열입니다.
- strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
- strings의 원소는 길이 1 이상, 100 이하인 문자열입니다.
- 모든 strings의 원소의 길이는 n보다 큽니다.
- 인덱스 1의 문자가 같은 문자열이 여럿일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.
구체적 구현:
def solution(strings, n):
answer = sorted(strings, key=lambda a: (a[n], a))
return answer
상세 설명:
- 정렬 기준 설정:
- sorted() 함수의 key 매개변수에 람다 함수를 사용하여 정렬 기준을 설정합니다.
- lambda a: (a[n], a)는 각 문자열의 n번째 문자를 기준으로 정렬하되, 만약 n번째 문자가 같은 경우 문자열 자체를 기준으로 사전순 정렬합니다.
- 결과 반환:
- 정렬된 리스트 answer를 반환합니다.
오늘 배운 점:
- sorted() 함수와 람다 함수를 사용하여 복합적인 정렬 기준을 설정하는 방법을 학습했습니다.
- 문자열의 특정 인덱스를 기준으로 정렬하는 방법을 익혔습니다.
- 리스트의 특정 인덱스를 추출하여 활용하는 방법으로 enumerate는 적합하지 않다는 걸 깨달았습니다.
TIL: SQL 학습 내용
오늘 풀어본 문제: ANIMAL_INS 테이블에서 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID 순으로 조회하는 문제입니다.
테이블 구조:
- ANIMAL_ID: 동물의 아이디 (VARCHAR)
- ANIMAL_TYPE: 생물 종 (VARCHAR)
- DATETIME: 보호 시작일 (DATETIME)
- INTAKE_CONDITION: 보호 시작 시 상태 (VARCHAR)
- NAME: 이름 (VARCHAR)
- SEX_UPON_INTAKE: 성별 및 중성화 여부 (VARCHAR)
구체적 구현:
SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
상세 설명:
- 전체 조회:
- SELECT * FROM ANIMAL_INS를 사용하여 테이블의 모든 열을 조회합니다.
- 정렬:
- ORDER BY ANIMAL_ID를 사용하여 동물의 아이디를 기준으로 오름차순 정렬합니다.
오늘 배운 점:
- SQL에서 배운 점은 딱히 없음
'TIL' 카테고리의 다른 글
본 캠프 14일차 TIL (0) | 2024.07.08 |
---|---|
본 캠프 13일차 TIL (0) | 2024.07.08 |
본 캠프 11일차 TIL (0) | 2024.07.04 |
본 캠프 10일차 TIL (0) | 2024.07.03 |
본 캠프 9일차 TIL (0) | 2024.07.02 |