my study.

Coding Test/Programmers 22

[프로그래머스] 단속카메라, java

- 문제  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이import java.util.*;class Solution { /* 해결방법을 찾기 어려웠던 문제입니다. 처음에는 routes[i][0] 인자를 기준으로 오름차순 정렬을 진행했습니다. 하지만 몇 테스트케이스에서 답을 찾지 못했고, 원인을 찾지 못했습니다. 이후 검색을 하며 이의 예외 케이스를 알게되었습니다. [[2, 2],[0, 1],[-10,9]] (){ @Override public int compare(int[] a, int[] b){ ..

[프로그래머스] 2 x n 타일링, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이class Solution { //dp 접근해보았습니다. //직접 1~5까지의 경우의 수를 구해본다면 다음과 같은 흐름을 보여줍니다. /* 1 - 1 | 2 - 2 ||, = 3 - 3 |||, |=, =| 4 - 5 ||||, ||=, |=|, =||, == 5 - 8 |||||, |||=, ||=|, |=||, =|||, |==, =|=, ==| */ //위의 값을 보며 규칙을 찾아 보았을 때, dp[i] = dp[i-1]+dp[i-2] 라는 규칙을 찾을 수 있습니다. ..

[프로그래머스] 합승 택시 요금, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이import java.util.*;class Solution { static int N; static ArrayList> data; //다익스트라에 사용할 Node 클래스입니다. //이 Node를 가질 ArrayList의 index에서 n 까지의 요금 k로 가지는 class입니다. static class Node{ int n, k; public Node(int n, int k){ this.n = n; this.k = k; ..

[프로그래머스] 가장 먼 노드, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이import java.util.*;class Solution { public int solution(int n, int[][] edge) { //답의 개수를 담아줄 answer입니다. int answer = 0; //각 노드가 이동할 수 있는 노드들을 담는 ArrayList를 생성합니다. ArrayList> check = new ArrayList(); //각각 노드의 틀을 만들어줍니다. for(int i=0; i()); ..

[프로그래머스] 숫자 변환하기, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이 최초 DFS를 이용해 접근해보려하다, 시간초과로 인해 풀이에 실패하였습니다. 한 번 방문했던 곳에 다시 방문하지 않는다 라는 아이디어도 쉽게 적용이 되지 않아서 구글링을 진행했고, DP를 이용한 풀이를 이해하고 풀어보았습니다. 1. DP를 이용한 풀이class Solution { public int solution(int x, int y, int n) { int answer = 0; //각 숫자들에 도달하는데 필요한 연산 횟수를 담을 dp 배열입니다. int[] dp = new..

[프로그래머스] 택배상자, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이import java.util.*;class Solution { //문제를 제대로 읽지 않아 컨테이너 벨트는 1~n순으로 나온다를 파악하지 못한 채로 //접근해서 시간을 많이 소모했습니다. //보조컨테이너벨트는 가장 마지막에 보관한 상자를 먼저 꺼낸다 == Stack 사용합니다. public int solution(int[] order) { int answer = 0; //정답을 담아줄 answer입니다. int len = order.len..

[프로그래머스] 주식가격, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이import java.util.*;class Solution { //스택을 이용한 풀이가 생각나지 않아 구글 검색후 블로그를 참고하였습니다. public int[] solution(int[] prices) { //여러번 사용되는 주식가격의 크기를 담아줍니다. int len = prices.length; //답이되는 answer 배열의 크기가 len과 같기 때문이 미리 선언해줍니다. int[] answer = new int[len]; ..

[프로그래머스] 더 맵게, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이import java.util.*;class Solution { public int solution(int[] scoville, int K) { int answer = 0; //스코빌 지수가 가장 낮은 음식 두 개를 찾아 꺼내는 동작을 반복해야 합니다. //여기서 우선순위 큐 라는 자료구조를 생각할 수 있었습니다. //우선순위 큐는 다양한 기준으로 우선순위를 설정할 수 있지만, default가 수의 오름차순 정렬이기 때문에 //그대로 사용합니다. ..

[프로그래머스] 모음사전, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이import java.util.*;class Solution { //전역적으로 사용하기 위한 변수들을 static으로 선언시켜 주었습니다. static String[] str; static HashMap key; static int idx; public int solution(String word) { //알파벳 모음을 순서대로 str에 담아줍니다. str = new String[]{"A","E","I","O","U"}; //word라는..

[프로그래머스] 뒤에 있는 큰 수 찾기, java

- 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr- 풀이import java.util.*;class Solution { public int[] solution(int[] numbers) { //답안의 크기는 numbers와 같기 때문이 미리 선언해줍니다. int[] answer = new int[numbers.length]; //Stack을 이용해 문제를 풀이합니다. //Stack에 numbers 값들의 index를 넣어 비교를 진행합니다. Stack st = new Stack(); ..