
1. 12세 이하인 여자 환자 목록 출력하기 문제 : PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성해주세요. 이때 전화번호가 없는 경우, 'NONE'으로 출력시켜 주시고 결과는 나이를 기준으로 내림차순 정렬하고, 나이 같다면 환자이름을 기준으로 오름차순 정렬해주세요. SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNO FROM PATIENT WHERE GEND_CD = 'W' AND AGE 3000 AND I.INGREDIENT_TYPE = 'fruit_based' ORDER BY TOTAL_ORDER DESC; INNER JOIN 두 테이블에 모두 데이터가 있..

1. 🍎 문제 2. 🤔 접근 구현해야 되는 작업은 다음 3가지이다. 또한 주어진 인덱스는 1부터 시작하는 것에 주의한다. 1. 배열을 i부터 j까지 자른다. 2. 자른 배열을 정렬한다. 3. k번째 요소를 answer 배열에 추가한다. 3. 💡 구현 1. 배열 자르기 | Arrays.copyOfRange ( 원본 배열, 시작인덱스(inclusive), 끝 인덱스(exclusive) ) copyOfRange 함수를 사용하면 원하는 인덱스만큼 배열을 카피할 수 있다. // 배열 자르기 int [] sliceArray = Arrays.copyOfRange(array, commands[t][0]-1, commands[t][1]); 2. 정렬 | Arrays.sort() sort 함수를 사용하면 오름차순 정렬을 ..

1. 문제 문제 요약 - 베스트 앨범 수록곡의 고유번호를 차례대로 리턴 - 베스트 앨범 수록 조건 1. 속한 노래가 많이 재생된 장르부터 수록 한다. 2. 장르 별 가장 많이 들은 2곡을 수록한다. 2곡 미만일 경우 1곡만 수록한다. 2. 접근 우선 무엇을 해야하는지 생각한다. 크게 2가지가 있다. 1. 속한 곡의 재생 수가 많은 순으로 장르 정렬 2. 장르별로 가장 많이 재생된 곡 2개 선정 먼저 장르를 어떻게 해시를 이용하여 정렬할 수 있을까 고민했다. 크게 고민된 부분은 장르는 문자열이다 보니 어떤 자료구조를 사용하여 정렬할 지였다. 만약 해시 맵을 이용하여 을 저장하면, 정렬할 때가 문제이다. 곡들의 총 재생 수인 value만 이용하여 정렬하게 될 텐데, value를 통해서 key를 찾을 수 있어..

1. 문제 2. 접근 이 문제랑 매우 비슷한 백준의 '패션왕 신혜빈' 문제랑 매우 비슷해서 그때의 기억을 복기하면서 접근했다. 각 옷의 종류마다 크게 2가지를 선택할 수 있다. 해당 종류의 의상을선택하지 않거나 의상 중 하나를 고르는 것이다. 예제 1를 봤을 때 headear는 2개, eyewear는 1개의 의상이 있다. 이때 headear에서는 아예 선택하지 않거나, yellow_hat을 선택하거나 green-tuban을 선택할 수 있는 경우로 총 3가지가 있다. 같은 옷의 종류는 무조건 하나 이하만 선택할 수 있기 때문이다. 이를 일반화 시키면 i 종류에서 선택할 수 있는 경우 = i 종류의 의상 개수 +1(선택 안하는 경우) 이다. 모든 경우의 수를 구하기 위해 종류마다 경우의 수를 구한 후 곱하면..

1. 문제 문제 요약 - 어떤 번호가 다른 번호의 접두어인 경우를 구하라 처음 시도 때 가장 첫 번째 문자열이 다른 문자열들의 접두어가 되는지 판단하는 줄 알고 접근했다가 계속 오답이 나오길래 꽤 생각했다. 문제를 다시보니 "어떤 번호"가 "다른 번호"의 접두어인지 판단하는 문제였다. 문제 요약하는 습관을 기르자! 2. 접근 해시 알고리즘으로 분류되어 있어서 해시를 써야될 것 같은데 도저히 풀 방법이 생각나지 않았다. contains() 함수를 이용해야 될 것 같아서 고민해봤지만 '접두어'인 조건을 어떻게 풀어야할지 몰랐다. contains() 함수를 사용하여, 문자열이 다른 문자열의 포함되는지 알아도 오직 문자열이 시작할 때 포함하고 있어야하기 때문에 어려웠다. 결국 못 풀고 다른 사람의 풀이를 보았다..