TIL 제출하기 (2024-09-11)
오늘의 공부를 마무리하면서 작성한 내용입니다.
알고리즘 문제를 풀어보겠습니다. 문제의 조건에 따라 n
은 10억 이하의 자연수이며, 각 자리 숫자를 배열로 변환하여 뒤집어 반환하는 것이 목표입니다. 예를 들어, n
이 12345라면, 출력 결과는 [5, 4, 3, 2, 1]
이어야 합니다.
알고리즘 문제
이 문제를 풀기 위해서는 다음과 같은 순서로 접근할 수 있습니다:
- 자연수를 문자열로 변환: 주어진 자연수를 각 자리별로 분리하기 위해 문자열로 변환합니다.
- 각 자리 숫자를 역순으로 배열에 담기: 문자열을 뒤집고, 각 문자를 다시 숫자로 변환하여 배열에 담습니다.
- 결과 반환: 배열을 반환합니다.
Java 코드 구현
import java.util.*;
public class Solution{
public static int[] solution(long n) {
// 1. 자연수를 문자열로 변환
String str = Long.toString(n);
// 2. 문자열을 역순으로 배열에 담기
int[] result = new int[str.length()];
for (int i = 0; i < str.length(); i++) {
// 문자를 숫자로 변환 후 배열에 담음
result[i] = str.charAt(str.length() - 1 - i) - '0';
}
return result;
}
public static void main(String[] args) {
long n = 12345;
System.out.println(Arrays.toString(solution(n))); // 출력: [5, 4, 3, 2, 1]
}
}
코드 설명
solution
함수:- 입력으로 자연수
n
을 받습니다. 이 값을Long.toString(n)
을 이용해 문자열로 변환합니다. - 그다음, 문자열의 길이만큼 배열을 생성하고, 각 자리 숫자를 뒤에서부터 순서대로 배열에 저장합니다.
charAt()
을 사용해 각 문자를 가져온 후, 이를 숫자로 변환하기 위해'0'
을 빼줍니다. 이는 ASCII 값 변환을 위한 간단한 방법입니다.
- 입력으로 자연수
main
함수:- 자연수
12345
를 입력으로 받아solution
함수로 넘긴 후, 결과 배열을 출력합니다.
- 자연수
실행 결과
코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
[5, 4, 3, 2, 1]
SQL 쿼리
문제 설명
다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FOOD_FACTORY 테이블은 다음과 같은 구조를 가지고 있습니다:
Column name | Type | Nullable |
---|---|---|
FACTORY_ID | VARCHAR(10) | FALSE |
FACTORY_NAME | VARCHAR(50) | FALSE |
ADDRESS | VARCHAR(100) | FALSE |
TLNO | VARCHAR(20) | TRUE |
각 열의 의미는 다음과 같습니다:
- FACTORY_ID: 공장 ID
- FACTORY_NAME: 공장 이름
- ADDRESS: 공장 주소
- TLNO: 전화번호
문제
FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요. 이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요.
예시
FOOD_FACTORY 테이블이 다음과 같을 때:
FACTORY_ID | FACTORY_NAME | ADDRESS | TLNO |
---|---|---|---|
FT19980003 | (주)맛있는라면 | 강원도 정선군 남면 칠현로 679 | 033-431-3122 |
FT19980004 | (주)맛있는기름 | 경기도 평택시 포승읍 포승공단순환로 245 | 031-651-2410 |
FT20010001 | (주)맛있는소스 | 경상북도 구미시 1공단로7길 58-11 | 054-231-2121 |
FT20010002 | (주)맛있는통조림 | 전라남도 영암군 미암면 곤미현로 1336 | 061-341-5210 |
FT20100001 | (주)맛있는차 | 전라남도 장성군 서삼면 장산리 233-1번지 | 061-661-1420 |
FT20100002 | (주)맛있는김치 | 충청남도 아산시 탕정면 탕정면로 485 | 041-241-5421 |
FT20100003 | (주)맛있는음료 | 강원도 원주시 문막읍 문막공단길 154 | 033-232-7630 |
FT20100004 | (주)맛있는국 | 강원도 평창군 봉평면 진조길 227-35 | 033-323-6640 |
FT20110001 | (주)맛있는밥 | 경기도 화성시 팔탄면 가재리 34번지 | 031-661-1532 |
FT20110002 | (주)맛있는과자 | 광주광역시 북구 하서로 222 | 062-211-7759 |
SQL 쿼리
다음 SQL 쿼리를 사용하여 문제를 해결할 수 있습니다:
SELECT
FACTORY_ID,
FACTORY_NAME,
ADDRESS
FROM
FOOD_FACTORY
WHERE
ADDRESS LIKE '강원도%'
ORDER BY
FACTORY_ID ASC;
실행 결과 예시
위 SQL 쿼리를 실행하면 다음과 같은 결과가 출력됩니다:
FACTORY_ID | FACTORY_NAME | ADDRESS |
---|---|---|
FT19980003 | (주)맛있는라면 | 강원도 정선군 남면 칠현로 679 |
FT20100003 | (주)맛있는음료 | 강원도 원주시 문막읍 문막공단길 154 |
FT20100004 | (주)맛있는국 | 강원도 평창군 봉평면 진조길 227-35 |
TIL 제출하기(매일 23:59 까지)
❤️🔥TIL : Today I Learned
매일 저녁, 공부를 마무리하면서 제출해주세요.
하루에 1%씩만 나아가도 4개월 동안 쌓이면 꽤 덩치가 커진답니다 :)
[TIL을 쓰는 이유]
1. 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기
2. TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기
3. 꾸준히 기록을 남기는 습관 가지기
'TIL > 스파르타 코드카타' 카테고리의 다른 글
[내일배움캠프] 본캠프 코드카타 19번 문제 (0) | 2024.10.28 |
---|---|
[내일배움캠프] 본캠프 코드카타 18번 문제 (0) | 2024.09.26 |
[내일배움캠프] 본캠프 코드카타 16번 문제 (0) | 2024.09.11 |
[내일배움캠프] 사전캠프 코드카타 36번 문제 (0) | 2024.09.03 |
[내일배움캠프] 사전캠프 코드카타 35번 문제 (0) | 2024.09.03 |