728x90
데일리루틴 SQL
MySQL 없어진 기록 찾기 정답입니다.
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_OUTS O
LEFT JOIN ANIMAL_INS I
ON O.ANIMAL_ID = I.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY O.ANIMAL_ID;
- SELECT O.ANIMAL_ID, O.NAME
- ANIMAL_OUTS 테이블에서 ANIMAL_ID와 NAME 컬럼을 선택합니다.
- FROM ANIMAL_OUTS O
- ANIMAL_OUTS 테이블을 O라는 별칭으로 사용하여 조회합니다.
- LEFT JOIN ANIMAL_INS I
- ANIMAL_OUTS와 ANIMAL_INS 테이블을 LEFT JOIN으로 결합하여, ANIMAL_OUTS의 모든 레코드와 ANIMAL_INS의 일치하는 레코드를 가져옵니다.
- ON O.ANIMAL_ID = I.ANIMAL_ID
- ANIMAL_OUTS와 ANIMAL_INS 테이블을 ANIMAL_ID 컬럼을 기준으로 결합합니다.
- WHERE I.ANIMAL_ID IS NULL
- JOIN 결과에서 ANIMAL_INS 테이블에 해당 레코드가 없는 경우(즉, 보호소에 들어온 기록이 없는 동물들)만 선택합니다.
- ORDER BY O.ANIMAL_ID
- 결과를 ANIMAL_ID 오름차순으로 정렬합니다.
데일리루틴 알고리즘
Java 푸드 파이터 대회 정답입니다.
class Solution {
public String solution(int[] food) {
StringBuilder answer = new StringBuilder();
for(int i = 1; i < food.length; i++) {
int repeat = food[i]/2;
for (int j = 0; j < repeat; j++) {
answer.append(i);
}
}
answer.append(0);
for(int i = food.length-1; i >= 1; i--) {
int repeat = food[i]/2;
for (int j = 0; j < repeat; j++) {
answer.append(i);
}
}
return answer.toString();
}
}
- StringBuilder answer = new StringBuilder();
- 문자열을 효율적으로 생성하기 위해 StringBuilder 객체 answer를 생성합니다.
- for(int i = 1; i < food.length; i++) {
- food 배열의 두 번째 요소(i = 1)부터 시작하여 배열의 끝까지 반복하는 for 루프입니다.
- int repeat = food[i]/2;
- food[i]의 값을 2로 나누어 repeat 변수에 할당합니다. 이 값은 현재 인덱스 i를 몇 번 반복할지 나타냅니다.
- for (int j = 0; j < repeat; j++) {
- repeat 횟수만큼 내부 루프를 실행합니다.
- answer.append(i);
- 현재 인덱스 i를 answer에 repeat 횟수만큼 추가합니다.
- answer.append(0);
- 숫자 0을 answer에 추가합니다. 이 부분은 중간에 항상 0을 넣기 위함입니다.
- for(int i = food.length-1; i >= 1; i--) {
- 배열의 마지막 요소부터 두 번째 요소까지 반복하는 for 루프입니다. 역방향으로 진행합니다.
- int repeat = food[i]/2;
- food[i] 값을 2로 나눈 값을 repeat 변수에 저장합니다. 이 값은 현재 인덱스 i를 몇 번 반복할지 나타냅니다.
- for (int j = 0; j < repeat; j++) {
- repeat 횟수만큼 내부 루프를 실행합니다.
- answer.append(i);
- 현재 인덱스 i를 answer에 repeat 횟수만큼 추가합니다.
- return answer.toString();
- StringBuilder 객체 answer를 문자열로 변환하여 반환합니다.
728x90
반응형
LIST
'Sparta > 데일리루틴' 카테고리의 다른 글
TIL(Today I Learned)_데일리루틴_24.11.28.Thu (0) | 2024.11.28 |
---|---|
TIL(Today I Learned)_데일리루틴_24.11.27.Wed (0) | 2024.11.27 |
TIL(Today I Learned)_데일리루틴_24.11.25.Mon (0) | 2024.11.25 |
TIL(Today I Learned)_데일리루틴_24.11.24.Sun (0) | 2024.11.24 |
TIL(Today I Learned)_데일리루틴_24.11.23.Sat (0) | 2024.11.23 |