TIL 제출하기(매일 23:59 까지)
❤️🔥TIL : Today I Learned
매일 저녁, 공부를 마무리하면서 제출해주세요.
하루에 1%씩만 나아가도 4개월 동안 쌓이면 꽤 덩치가 커진답니다 :)
[TIL을 쓰는 이유]
1. 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기
2. TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기
3. 꾸준히 기록을 남기는 습관 가지기
알고리즘 코드카타
문제 설명
정수 num이 주어졌을 때, num이 짝수인지 홀수인지 판별하여 짝수인 경우 "Even"을 반환하고, 홀수인 경우 "Odd"를 반환하는 함수를 작성해야 합니다.
제한 조건
- num은 int 범위의 정수입니다.
- 0은 짝수입니다.
입출력 예
numreturn
3 | "Odd" |
---|---|
4 | "Even" |
자바 코드 구현
다음은 자바로 작성한 해결 방법입니다:
public class Solution {
public String solution(int num) {
// num이 짝수인지 홀수인지 판단하여 결과를 반환
if (num % 2 == 0) {
return "Even";
} else {
return "Odd";
}
}
// 테스트 메소드
public static void main(String[] args) {
Solution sol = new Solution();
// 테스트 케이스 1
int test1 = 3;
System.out.println("Input: " + test1 + " -> Output: " + sol.solution(test1)); // 출력: "Odd"
// 테스트 케이스 2
int test2 = 4;
System.out.println("Input: " + test2 + " -> Output: " + sol.solution(test2)); // 출력: "Even"
// 추가 테스트 케이스
int test3 = 0;
System.out.println("Input: " + test3 + " -> Output: " + sol.solution(test3)); // 출력: "Even"
}
}
설명
- 메서드 선언:
- solution 메서드는 정수 num을 입력받아 짝수인지 홀수인지에 따라 "Even" 또는 "Odd" 문자열을 반환합니다.
- 짝수/홀수 판단:
- if (num % 2 == 0): num을 2로 나눈 나머지가 0이면 짝수이므로 "Even"을 반환합니다.
- else: 그렇지 않으면 홀수이므로 "Odd"를 반환합니다.
- 테스트 메서드:
- main 메서드에서 다양한 테스트 케이스를 통해 solution 메서드의 동작을 검증합니다.
- 입력값에 따라 출력이 예상대로 "Odd" 또는 "Even"이 나오는지 확인합니다.
이 코드는 num의 값에 따라 짝수인 경우 "Even", 홀수인 경우 "Odd"를 정확하게 반환합니다. 추가적인 테스트 케이스를 통해 함수의 동작을 확인할 수 있습니다.
SQL 코드카타
문제 설명
ANIMAL_INS 테이블에서 동물 보호소에 들어온 모든 동물의 아이디, 이름, 보호 시작일을 조회하는 SQL 문을 작성해야 합니다. 결과는 다음과 같은 조건을 만족해야 합니다:
- 동물의 이름을 알파벳 순으로 정렬합니다.
- 이름이 같은 동물 중에서는 보호 시작일이 나중인 동물을 먼저 보여줍니다.
예시
ANIMAL_INS 테이블이 다음과 같다고 가정합니다:
ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A349996 | Cat | 2018-01-22 14:32:00 | Normal | Sugar | Neutered Male |
---|---|---|---|---|---|
A350276 | Cat | 2017-08-13 13:50:00 | Normal | Jewel | Spayed Female |
A396810 | Dog | 2016-08-22 16:13:00 | Injured | Raven | Spayed Female |
A410668 | Cat | 2015-11-19 13:41:00 | Normal | Raven | Spayed Female |
이름을 사전 순으로 정렬하면 다음과 같습니다:
- Jewel
- Raven
- Raven
- Sugar
이름이 같은 경우에는 보호 시작일이 나중인 동물을 먼저 보여주어야 하므로 결과는 다음과 같습니다:
ANIMAL_IDNAMEDATETIME
A350276 | Jewel | 2017-08-13 13:50:00 |
---|---|---|
A396810 | Raven | 2016-08-22 16:13:00 |
A410668 | Raven | 2015-11-19 13:41:00 |
A349996 | Sugar | 2018-01-22 14:32:00 |
SQL 문 작성
다음은 주어진 조건을 만족하는 SQL 쿼리입니다:
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;
설명
- SELECT ANIMAL_ID, NAME, DATETIME:
- 동물의 아이디, 이름, 보호 시작일을 선택합니다.
- FROM ANIMAL_INS:
- ANIMAL_INS 테이블에서 데이터를 가져옵니다.
- ORDER BY NAME ASC, DATETIME DESC:
- 이름을 오름차순(ASC)으로 정렬하고, 이름이 같은 경우에는 보호 시작일을 내림차순(DESC)으로 정렬합니다.
이 쿼리를 실행하면 원하는 조건에 맞는 결과를 얻을 수 있습니다.
실행 결과
주어진 예시 데이터에 대해 쿼리를 실행하면 다음과 같은 결과가 나옵니다:
ANIMAL_IDNAMEDATETIME
A350276 | Jewel | 2017-08-13 13:50:00 |
---|---|---|
A396810 | Raven | 2016-08-22 16:13:00 |
A410668 | Raven | 2015-11-19 13:41:00 |
A349996 | Sugar | 2018-01-22 14:32:00 |
이와 같이, 동물 보호소에 들어온 모든 동물의 아이디, 이름, 보호 시작일을 이름 순으로 정렬하고, 같은 이름의 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줄 수 있습니다.
느낀점
호ㅏ 이팅..
[9일차] 알고리즘 코드카타 08.06(화)_SQL이랑 언어알고리즘을 같이 담아서 썻다
'TIL > 스파르타 코드카타' 카테고리의 다른 글
[내일배움캠프] 사전캠프 코드카타 13번 문제 (0) | 2024.08.10 |
---|---|
[내일배움캠프] 사전캠프 코드카타 12번 문제 (0) | 2024.08.10 |
[내일배움캠프] 사전캠프 코드카타 10번 문제 (0) | 2024.08.10 |
[내일배움캠프] 사전캠프 코드카타 9번 문제 (0) | 2024.08.10 |
[내일배움캠프] 사전캠프 코드카타 8번 문제 (0) | 2024.08.10 |