[LeetCode] 324. Wiggle Sort II (python, java 풀이)
·
Computer Science/자료구조와 알고리즘
1. JAVA 풀이 class Solution { public void wiggleSort(int[] nums) { Arrays.sort(nums); int[] answer = new int[nums.length]; int len = nums.length; if (nums.length %2 != 0) len = nums.length+1; for(int i=0;i< len/2; i++){ answer[i*2] = nums[len/2-i-1]; } for(int i=0; i< nums.length/2; i++){ answer[i*2+1] = nums[nums.length-i-1]; } for(int i=0;i None: """ Do not return anything, modify nums in-place ..
[프로그래머스\SQL 고득점 kit] String, Date - mysql (1,2번)
·
Computer Science/자료구조와 알고리즘
1. 루시와 엘라 찾기 동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요.이때 결과는 아이디 순으로 조회해주세요. SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty') ORDER BY ANIMAL_ID 2. 이름에 el이 들어가는 동물 찾기 보호소에 돌아가신 할머니가 기르던 개를 찾는 사람이 찾아왔습니다. 이 사람이 말하길 할머니가 기르던 개는 이름에 'el'이 들어간다고 합니다. 동물 보호소에 들어온..
[프로그래머스\SQL 고득점 kit] JOIN (1~4번 : mysql) LEFT OUTER JOIN 사용
·
Computer Science/자료구조와 알고리즘
1. 없어진 기록 찾기 - LEFT OUTER JOIN 천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요. SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS O LEFT OUTER JOIN ANIMAL_INS I ON O.ANIMAL_ID = I.ANIMAL_ID WHERE I.ANIMAL_ID IS NULL ORDER BY O.ANIMAL_ID 2. 있었는데요 없었습니다 - LEFT OUTER JOIN 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 ..
[프로그래머스\SQL 고득점 kit] ISNULL (1~3번: Mysql) (3번: Oracle)
·
Computer Science/자료구조와 알고리즘
1. 이름이 없는 동물의 아이디 -> IS NULL 동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID 조건 : 이름이 없는 채로 들어온 동물의 ID -> WHERE NAME IS NULL " == NULL " 의 형태는 쓸 수 없다 2. 이름이 있는 동물의 아이디 -> IS NOT NULL 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. SELECT ANIMAL_ID FROM ANIMAL_INS ..
[프로그래머스\SQL 고득점 kit] GROUP BY - 입양 시각 구하기(2) 풀이 2가지 (mysql)
·
Computer Science/자료구조와 알고리즘
4. 입양 시각 구하기 (2) 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 첨엔 GROUP BY로 해결하려 했으나 COUNT가 0인 부분에 대해서 조회할 수 없어서 실패 두번째 시도는 UNION ALL 이었는데,,,, (sol 2) 같이 일일히 다 써야하기 때문에 패스! (sol 1) SET, @변수 사용 SET @HOUR := -1; SELECT (@HOUR := @HOUR+1) AS HOUR, (SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @HOUR) AS COUNT FROM A..
[프로그래머스\SQL 고득점 kit] GROUP BY - 입양 시각 구하기(1) 풀이 3가지 mysql
·
Computer Science/자료구조와 알고리즘
3. 입양시각 구하기 - HOUR로 시간 추출 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. (sol 1) HAVING절 사용! SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR>=9 AND HOUR GROUP BY HOUR 여기서 HOUR(DATETIME)해도 되고 HOUR만 해도 된다! -> select절에서 HOUR(DATETIME)을 HOUR로 정의해주었기 때문! 4. 그룹화한 후, 조건을 걸어준다..
[프로그래머스\SQL 고득점 kit] GROUP BY - 고양이와 개는 몇마리 있을까, 동명 동물 수 찾기 (mysql)
·
Computer Science/자료구조와 알고리즘
1. 고양이와 개는 몇 마리 있을까 - GROUP BY 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요. SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE 1. SELECT ANIMAL_TYPE, count 인데, count라는 컬럼이 없으므로 어떤 식 AS count 가 되어야 한다. 즉, 어떤 식의 결과값을 count로 정의! ANIMAL_TYPE 별 개수를 구하는 것이므로 COUNT(ANIMAL_TYPE) AS count 2. FROM ANIMAL_INS(테이블명) 3. GR..
[프로그래머스\SQL 고득점 kit] SUM, MAX, MIN :Mysql
·
Computer Science/자료구조와 알고리즘
1. 최댓값구하기 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. sol (1) ORDER BY를 사용 SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1 에서 풀었듯이, DATETIME을 내림차순으로 정렬하면 가장 최근 날짜가 가장 위에 오게 됨 따라서, "LIMIT 1"을 사용함으로써 하나!만 sol (2) MAX 함수 사용 SELECT MAX(DATETIME) FROM ANIMAL_INS 최댓값 : SELECT MAX(컬럼) FROM 테이블 참고로, AS(Alias)를 이용하여 컬럼명 정의할 수 있음 ex) SELECT MAX(DATETIME) AS date FROM ANIMAL_INS 라 쓰면, 출력할 컬럼..