TIL 20240912

·2024년 9월 12일

TIL

목록 보기
15/25

🖥️ 1.오늘 한 일

- 계산기프로젝트

  • 제네릭 : 어떠한타입도 처리 가능하게 함

  • 람다 : (파라미터) -> (실행코드)
    파라미터(입력받는값), ->(파라미터와 실행코드 구분), 실행코드(람다가 수행 할 작업)

  • 스트림 : 기존의 for문과 Iterator를 사용하면 코드가 길어져서 가독성과 재사용성이 떨어짐
    스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메소드를 정의해 놓아서 데이터 소스에 상관없이 모두 같은 방식으로 다룰 수 있으므로 코드의 재사용성 높음

    .distinct () => 중복제거
    .filter() => 필터링
    .stream () => 스트림
    .collect()
    .collect(Collectors.자료형에맞는거쓰면됨 toList같은..()) => 요소들 담기
    .sorted(역순정렬) .sorted((a,b)->b-a)
    .map => 데이터 변형에 사용


-알고리즘,SQL 문제 풀기

https://school.programmers.co.kr/learn/courses/30/lessons/59411

SELECT I.ANIMAL_ID,I.NAME  FROM ANIMAL_INS I
JOIN ANIMAL_OUTS O ON I.ANIMAL_ID=O.ANIMAL_ID
ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC
LIMIT 2;

DATEDIFF(date1, date2)
=> date1 - date2값 반환 (두 날짜 사이의 값을 일로 반환)

https://school.programmers.co.kr/learn/courses/30/lessons/12950

def solution(arr1, arr2):
    answer = []
    for i in range(len(arr1)):
        row=[]
        for j in range(len(arr1[i])):
            row.append(arr1[i][j]+arr2[i][j])
        answer.append(row)
    return answer

=> zip사용하면 더 편함
(zip(arr1, arr2): 두 행렬 arr1과 arr2의 각 행(row)을 묶어서 한 쌍 묶어서 만듬)

def solution(arr1, arr2):
    answer = [[a + b for a, b in zip(row1, row2)] for row1, row2 in zip(arr1, arr2)]
    return answer

https://school.programmers.co.kr/learn/courses/30/lessons/12918

def solution(s):
    if len(s) == 4 or len(s) == 6:
        answer = s.isdigit()
    else :
        answer = False
    return answer

=> isdigit() 함수는 문자열이 숫자로만 이루어져 있는지 확인 하고 맞으면 T 아니면 F 반환


📝 2. 회고

  • 공식처럼 외워서 코드 작성하려니 쉽지 않다. 예시 코드 같은걸 많이 따라 하면서 연습해야겠다.
profile
🍀🍀

0개의 댓글