TIL 제출하기(매일 23:59 까지)
❤️🔥TIL : Today I Learned
매일 저녁, 공부를 마무리하면서 제출해주세요.
하루에 1%씩만 나아가도 4개월 동안 쌓이면 꽤 덩치가 커진답니다 :)
\[TIL을 쓰는 이유\]
1\. 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기
2\. TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기
3\. 꾸준히 기록을 남기는 습관 가지기
알고리즘 코드카타
문제 설명
정수 n
을 입력받아 n
의 약수를 모두 더한 값을 리턴하는 함수, solution
을 완성하는 문제입니다. 약수란, 어떤 수를 나누었을 때 나머지가 0이 되는 수를 의미합니다. 예를 들어, 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이러한 약수들을 모두 더해서 결과값을 반환하면 됩니다.
제한 사항
n
은 0 이상 3000 이하인 정수입니다.
입출력 예
n | return |
---|---|
12 | 28 |
5 | 6 |
입출력 예 설명
입출력 예 #1
12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.
입출력 예 #2
5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.
해결 방법
이 문제는 n
의 약수를 찾고, 그 약수들의 합을 구하는 문제입니다. 약수는 n
을 나누었을 때 나머지가 0이 되는 수를 말합니다. 따라서 1부터 n
까지의 모든 수 중에서 나머지가 0인 수를 찾아서 그 수를 더하면 됩니다. 이를 구현하기 위해서 for
반복문을 사용하고, 각 반복에서 나머지 연산 (%
)을 이용해 약수를 구합니다.
코드
자바로 작성된 코드는 다음과 같습니다:
public class Solution {
public static int solution(int n) {
int sum = 0;
// 1부터 n까지의 숫자 중 n의 약수를 찾아 합을 구함
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum;
}
public static void main(String[] args) {
// 예시 테스트
System.out.println(solution(12)); // 28
System.out.println(solution(5)); // 6
}
}
풀이 과정
- 변수 선언:
sum
변수를 선언하여 약수들의 합을 저장합니다. - 반복문:
for
문을 이용해 1부터n
까지 반복하면서,n
을 나누어 나머지가 0인 수를 찾아 더합니다. - 결과 반환: 약수들의 합을 반환합니다.
SQL 코드카타
문제 설명
다음은 의류 쇼핑몰에서 판매 중인 상품들의 정보를 담고 있는 PRODUCT
테이블에서, 가장 높은 판매가를 구하는 SQL 문제입니다. PRODUCT
테이블은 상품 ID, 상품코드, 그리고 판매가를 나타내는 세 가지 주요 컬럼으로 구성되어 있으며, 각각의 상품은 8자리의 고유한 상품코드를 가집니다. 이 문제에서 우리는 가장 높은 판매가를 찾아 그 값을 MAX_PRICE라는 컬럼명으로 출력하는 SQL 쿼리를 작성해야 합니다.
테이블 구조
- PRODUCT_ID: 상품의 고유 ID (INTEGER, NOT NULL)
- PRODUCT_CODE: 상품코드, 8자리의 문자형 (VARCHAR(8), NOT NULL)
- PRICE: 판매가 (INTEGER, NOT NULL)
문제 요구 사항
PRODUCT
테이블에서 가장 높은 판매가를 출력하는 SQL 쿼리를 작성하되, 반환되는 컬럼명은 MAX_PRICE
로 지정해야 합니다.
예시
아래와 같은 PRODUCT
테이블이 있다고 가정합니다:
PRODUCT_ID | PRODUCT_CODE | PRICE |
---|---|---|
1 | A1000001 | 10000 |
2 | A2000005 | 9000 |
3 | C1000006 | 22000 |
위 데이터에서 가장 높은 판매가는 22,000원이므로, 출력 결과는 다음과 같아야 합니다:
MAX_PRICE |
---|
22000 |
해결 방법
이 문제는 주어진 테이블에서 가장 큰 값을 찾아야 하므로, SQL의 MAX()
함수를 사용하면 됩니다. MAX()
함수는 지정된 컬럼에서 가장 큰 값을 반환하는 함수입니다. 이 함수는 PRICE
컬럼에 적용하여 상품 가격 중 가장 높은 값을 반환하도록 설정하면 됩니다.
SQL 코드
아래는 요구 사항에 맞는 SQL 쿼리입니다:
SELECT MAX(PRICE) AS MAX_PRICE
FROM PRODUCT;
풀이 과정
MAX()
함수 사용:PRICE
컬럼에서 가장 큰 값을 찾기 위해MAX()
함수를 사용합니다.- 컬럼명 지정: 문제에서 요구한 대로 반환되는 컬럼명을
MAX_PRICE
로 지정하기 위해AS
키워드를 사용합니다. - 테이블 지정:
PRODUCT
테이블에서 데이터를 조회하므로,FROM PRODUCT
를 사용합니다.
동작 설명
MAX(PRICE)
:PRODUCT
테이블의PRICE
컬럼에서 가장 높은 값을 찾습니다.AS MAX_PRICE
: 반환되는 결과 컬럼명을MAX_PRICE
로 설정합니다.
느낀점
'TIL > 스파르타 코드카타' 카테고리의 다른 글
[내일배움캠프] 사전캠프 코드카타 29번 문제 (0) | 2024.09.03 |
---|---|
[내일배움캠프] 사전캠프 코드카타 15번 문제 (0) | 2024.08.10 |
[내일배움캠프] 사전캠프 코드카타 13번 문제 (0) | 2024.08.10 |
[내일배움캠프] 사전캠프 코드카타 12번 문제 (0) | 2024.08.10 |
[내일배움캠프] 사전캠프 코드카타 11번 문제 (0) | 2024.08.10 |