본문 바로가기
TIL

본 캠프 12일차 TIL

by Data 학습자 2024. 7. 5.

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
 

상세 설명:

  1. 정렬 기준 설정:
    •    sorted() 함수의 key 매개변수에 람다 함수를 사용하여 정렬 기준을 설정합니다.
    •    lambda a: (a[n], a)는 각 문자열의 n번째 문자를 기준으로 정렬하되, 만약 n번째 문자가 같은 경우 문자열 자체를 기준으로 사전순 정렬합니다.
  2. 결과 반환:
    •    정렬된 리스트 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;
 

상세 설명:

  1. 전체 조회:
    •    SELECT * FROM ANIMAL_INS를 사용하여 테이블의 모든 열을 조회합니다.
  2. 정렬:
    •    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