📒 TIL - Today I Learned
20240117 / TIL
jeongminy
2024. 1. 17. 11:29
오늘 한 것
- 알고리즘, SQL 코드카타 1문제씩 풀기
- 스탠다드반 세션 - JPA 영속성, dirtyChecking 강의
- 스파르타 Spring 심화 3, 4, 5, 6, 7, 8, 9강 듣기
알고리즘 코드카타
❓ 문제 33. 약수의 개수와 덧셈
문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
✔️ 제한사항
1 ≤ left ≤ right ≤ 1,000
📝 내가 쓴 풀이
class Solution { fun solution(left: Int, right: Int): Int { var answer = 0 for (num in left..right){ var count = 0 for (i in 1..num){ if (num%i ==0){ count ++ } } if(count%2 ==0){ answer += num } else { answer -= num } } return answer } }
📝 다른 사람의 풀이class Solution { fun solution(left: Int, right: Int): Int { return (left..right).map { i -> if ((1..i).filter { i % it == 0 }.size % 2 == 0) i else -i }.sum() } }
🕵🏻 URL
https://school.programmers.co.kr/learn/courses/30/lessons/77884
💡 알게된 것
- countDivisors 함수는 주어진 수 num의 약수의 갯수를 계산하는 함수이다
예시) countDivisors(num) //출력: num의 약수의 갯수
SQL 코드카타
❓ 문제 24. 제목
관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.
📝 내가 쓴 풀이
SELECT I.ANIMAL_ID as ANIMAL_ID, I.NAME as NAME from ANIMAL_INS as I inner join ANIMAL_OUTS as O on I.ANIMAL_ID = O.ANIMAL_ID where I.DATETIME > O.DATETIME order by I.DATETIME
🕵🏻 URL
https://school.programmers.co.kr/learn/courses/30/lessons/59043
💡 알게된 것
- 날짜가 더 빠른지 조건을 추가하려면 where절에서 > 를 사용한다.