목록Programming/프로그래머스 (42)
조앤의 기술블로그
[문제접근] 스택을 이용해야겠다고 생각했다. 스택을 차례대로 어떻게 구현하면 좋을까 생각하다가 해시맵을 이용해서 구현해보기로 했다. (근데 너무 어렵게 접근한거 같기도..?) [1차코드] - 실패 import java.util.*; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; Map box = new HashMap(); for(int i = 0; i < board.length; i++) { Stack stack = new Stack(); for(int j = 0; j < board[i].length; j++) { stack.add(board[i][j]); } box.put(i+1, stack); } S..
[코드] import java.util.*; class Solution { static PriorityQueue min = new PriorityQueue(); static PriorityQueue max = new PriorityQueue(Collections.reverseOrder()); static void deleteMax(){ while(!min.isEmpty()){ max.add(min.poll()); } max.poll(); while(!max.isEmpty()){ min.add(max.poll()); } } public int[] solution(String[] operations) { int[] answer = {}; answer = new int[2]; for(String oper : ..
[1차 코드] - 실패 import java.util.*; class Solution { static class Job implements Comparable{ int index; // 작업이 요청되는 시간 int work; // 작업의 소요시간 public Job(int index, int work){ this.index = index; this.work = work; } @Override public int compareTo(Job target){ return this.work >= this.work ? 1 : -1; }// work 소요 시간이 적을수록 우선순위 높다.? } public int solution(int[][] jobs) { int answer = 0; PriorityQueue pq =..
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'이 들어간다고 한다. 동물 보호소에 들어온 동물 이름 중 "EL"이 들어가는 개의 아이디와 이름을 조회하는..
1. 없어진 기록 찾기 천재지변으로 인해 일부 데이터가 유실되었다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID순으로 조회하는 SQL문 작성 SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_OUTS A LEFT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE B.ANIMAL_ID IS NULL ORDER BY A.ANIMAL_ID 2. 있었는데요 없었습니다. 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성. 이때 결과는 보호 시작일이 빠른 순으로 조회해야한다. SELECT A.ANIMAL_ID, A.NAME FR..
1. 이름이 없는 동물의 아이디 동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL문을 작성. 단 ID는 오름차순 정렬되어야 함. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL 2. 이름이 있는 동물의 아이디 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL문을 작성. 단 ID는 오름차순 정렬되어야 함. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL 3. NULL 처리하기 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문 작성. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물..
1. 고양이와 개는 몇 마리 있을까 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문 작성. 이때 고양이가 개보다 먼저 조회. SELECT ANIMAL_TYPE, COUNT(*) AS 'count' FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE ASC 2. 동명 동물 수 찾기 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문 작성. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회. SELECT NAME, COUNT(*) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >= 2 O..
[문제접근] 승패가 매겨진 배열을 통해 유방향 간선 그래프를 만들 수 있다. -> 플로이드 와샬 알고리즘 사용 (처음에는 이 알고리즘이 생각이 안나서 다익스트라..? 이렇게 생각했는데 다른 사람들 풀이 보니까 플로이드 와샬로 하였음.) 가중치는 1로 두고 플로이드 와샬로 풀어주면 된다. 플로이드 와샬 진짜 오랜만이다.. 다시 예전에 공부했던 것들 복습해야겠다. [코드] import java.util.*; class Solution { public int solution(int n, int[][] results) { int answer = 0; int INF = 987654321; int[][] scores = new int[n+1][n+1]; for(int[] score : scores){ Arrays...