TIL/코딩테스트 연습문제

[내일배움캠프] 사전캠프 코드카타 9번 문제

통촏하여주시옵소서 2024. 8. 10. 01:00
TIL 제출하기(매일 23:59 까지)  
❤️‍🔥TIL : Today I Learned

매일 저녁, 공부를 마무리하면서 제출해주세요.  
하루에 1%씩만 나아가도 4개월 동안 쌓이면 꽤 덩치가 커진답니다 :)

\[TIL을 쓰는 이유\]  
1\. 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기  
2\. TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기  
3\. 꾸준히 기록을 남기는 습관 가지기

알고리즘 코드카타

정수 n이 주어졌을 때, n 이하의 짝수를 모두 더한 값을 반환하는 solution 함수를 Java로 작성해보겠습니다. 이 문제는 반복문을 사용하여 간단히 해결할 수 있습니다.

Java 코드:

public class Main {
    public static int solution(int n) {
        int sum = 0;

        // 1부터 n까지 반복하면서 짝수를 찾아 더합니다.
        for (int i = 1; i <= n; i++) {
            if (i % 2 == 0) { // i가 짝수인지 확인
                sum += i;
            }
        }

        return sum;
    }

    public static void main(String[] args) {
        // 테스트 케이스
        System.out.println(solution(10));  // 30
        System.out.println(solution(4));   // 6
    }
}

코드 설명:

  1. 변수 선언:
    • sum 변수를 선언하고 0으로 초기화합니다. 이 변수는 짝수의 합을 저장합니다.
  2. 반복문:
    • for 반복문을 사용하여 1부터 n까지의 숫자를 반복합니다.
    • 각 숫자 i가 짝수인지 확인하기 위해 i % 2 == 0 조건을 사용합니다.
    • i가 짝수일 경우 sum 변수에 i를 더합니다.
  3. 반환:
    • 반복문이 끝난 후, sum 변수에는 n 이하의 모든 짝수의 합이 저장됩니다. 이를 반환합니다.
  4. 테스트 케이스:
    • main 메서드에서 다양한 값을 입력하여 함수가 올바르게 작동하는지 확인합니다.

실행 예시:

  • solution(10)을 호출하면 10 이하의 짝수인 2, 4, 6, 8, 10을 더한 값인 30이 반환됩니다.
  • solution(4)을 호출하면 4 이하의 짝수인 2, 4를 더한 값인 6이 반환됩니다.

이와 같이 Java로 짝수를 더하는 문제를 간단하게 해결할 수 있습니다.

SQL 코드카타

동물 보호소에 가장 먼저 들어온 동물의 입소 시간을 조회하는 SQL 문을 작성하기 위해서는 ANIMAL_INS 테이블에서 DATETIME 컬럼의 최소값을 찾아야 합니다. 이를 위해 MIN 함수를 사용할 수 있습니다.

다음은 이를 구현한 SQL 쿼리입니다:

SELECT MIN(DATETIME) AS 시간
FROM ANIMAL_INS;

쿼리 설명:

  • SELECT MIN(DATETIME): MIN 함수를 사용하여 DATETIME 컬럼의 최소값을 선택합니다.
  • AS 시간: 결과 컬럼의 이름을 "시간"으로 지정합니다.
  • FROM ANIMAL_INS: ANIMAL_INS 테이블에서 데이터를 조회합니다.

이 쿼리는 ANIMAL_INS 테이블에서 가장 먼저 들어온 동물의 입소 시간을 찾아 반환합니다.

예시:

ANIMAL_INS 테이블에 다음과 같은 데이터가 있다고 가정합니다:

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE

A399552 Dog 2013-10-14 15:38:00 Normal Jack Neutered Male
A379998 Dog 2013-10-23 11:42:00 Normal Disciple Intact Male
A370852 Dog 2013-11-03 15:04:00 Normal Katie Spayed Female
A403564 Dog 2013-11-18 17:03:00 Normal Anna Spayed Female

위 쿼리를 실행하면 가장 먼저 들어온 동물의 입소 시간인 2013-10-14 15:38:00이 반환됩니다:

시간

2013-10-14 15:38:00

이와 같이 SQL 쿼리를 작성하면 동물 보호소에 가장 먼저 들어온 동물의 입소 시간을 정확하게 조회할 수 있습니다.

느낀점

[8일차] 알고리즘 코드카타 08.05(월)_SQL이랑 언어알고리즘을 같이 담아서 썻다