TIL/코딩테스트 연습문제

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

통촏하여주시옵소서 2024. 8. 10. 00:59

TIL 제출하기(매일 23:59 까지)
❤️‍🔥TIL : Today I Learned

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

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


알고리즘 코드카타

주어진 문제를 해결하기 위해 Java로 solution 함수를 작성하는 방법을 설명드리겠습니다. 이 함수는 주어진 두 정수 num1과 num2를 이용하여, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 반환합니다.

Java 코드로 작성하면 다음과 같습니다:

public class Solution {
    public int solution(int num1, int num2) {
        // num1을 num2로 나눈 값을 계산
        double divisionResult = (double) num1 / num2;

        // 결과에 1000을 곱함
        double multipliedResult = divisionResult * 1000;

        // 정수 부분을 반환
        return (int) multipliedResult;
    }

    public static void main(String[] args) {
        Solution sol = new Solution();

        // 예제 테스트 케이스
        System.out.println(sol.solution(3, 2));  // 1500
        System.out.println(sol.solution(7, 3));  // 2333
        System.out.println(sol.solution(1, 16)); // 62
    }
}

설명

  1. 나눗셈 연산:여기서 num1을 num2로 나누고, 정확한 실수 계산을 위해 (double)로 형 변환을 합니다.
  2. double divisionResult = (double) num1 / num2;
  3. 곱셈 연산:나눈 결과에 1000을 곱합니다.
  4. double multipliedResult = divisionResult * 1000;
  5. 정수 변환 및 반환:곱한 결과의 정수 부분만 필요하므로 (int)로 형 변환하여 반환합니다.
  6. return (int) multipliedResult;
  7. 테스트 케이스:
    main 메서드에서 제공된 예제 케이스들을 테스트하여 함수가 올바르게 작동하는지 확인합니다.

이제 이 코드를 사용하여 원하는 결과를 얻을 수 있습니다. 주어진 예제에 따라 solution 메서드를 호출하면 각 예제의 기대값과 일치하는 결과가 출력됩니다.

SQL 코드카타

동물 보호소에 들어온 동물 중에서 아픈 동물의 아이디와 이름을 조회하는 SQL 쿼리를 작성하는 문제입니다. 이 문제를 해결하기 위해 다음과 같은 단계를 거쳐야 합니다.

  1. ANIMAL_INS 테이블에서 INTAKE_CONDITION이 'Sick'인 레코드를 선택합니다.
  2. 선택된 레코드에서 ANIMAL_ID와 NAME 컬럼을 조회합니다.
  3. 결과를 ANIMAL_ID 순으로 정렬합니다.

이 과정을 SQL로 표현하면 다음과 같은 쿼리가 됩니다:

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick'
ORDER BY ANIMAL_ID;

이 쿼리의 각 부분을 설명해보겠습니다.

  • SELECT ANIMAL_ID, NAME: ANIMAL_ID와 NAME 컬럼을 선택합니다.
  • FROM ANIMAL_INS: ANIMAL_INS 테이블에서 데이터를 가져옵니다.
  • WHERE INTAKE_CONDITION = 'Sick': INTAKE_CONDITION이 'Sick'인 레코드만 선택합니다.
  • ORDER BY ANIMAL_ID: 결과를 ANIMAL_ID 순으로 정렬합니다.

이 쿼리를 실행하면 원하는 결과를 얻을 수 있습니다. 예를 들어, 다음과 같은 테이블이 있다고 가정할 때:

ANIMAL_ID    ANIMAL_TYPE    DATETIME              INTAKE_CONDITION    NAME        SEX_UPON_INTAKE
A365172        Dog            2014-08-26 12:53:00    Normal            Diablo        Neutered Male
A367012        Dog            2015-09-16 09:06:00    Sick            Miller        Neutered Male
A365302        Dog            2017-01-08 16:34:00    Aged            Minnie        Spayed Female
A381217        Dog            2017-07-08 09:41:00    Sick            Cherokee    Neutered Male

이 쿼리를 실행하면 다음과 같은 결과가 나옵니다:

ANIMAL_ID    NAME
A367012        Miller
A381217        Cherokee

따라서, Miller와 Cherokee가 아픈 동물임을 확인할 수 있습니다.

느낀점

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