전체 글
-
[Programmers] 멀쩡한 사각형Algorithm/Programmers 2020. 6. 1. 21:28
[Level 2] 멀쩡한 사각형 https://programmers.co.kr/learn/courses/30/lessons/62048 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm * 1cm 크기 입니다. 누군가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라놓았습니다. 가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는 solution 함수를 완성해주세요. Solution 아이디어를 생각하기 어렵다 ㅠ-ㅠ,, 예시를 기준으로 12*8 크기의 직사각형 종이가 있을 때, 사용할 수 없는 정사각형의 패턴을 보면 2*3 크기의 직사각형 내에서 테트리스 모양의 4개..
-
[Programmers] 가장 큰 수Algorithm/Programmers 2020. 5. 31. 21:26
[Level 2] 가장 큰 수 https://programmers.co.kr/learn/courses/30/lessons/42746# 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1026, 1062, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. Solution 왜 숫자를 합쳐서 비교할 생각을 못했을깡~! 솔루션 아닌 반성) comparator, comparabl..
-
[Programmers] 더 맵게Algorithm/Programmers 2020. 5. 31. 18:33
[Level 2] 더 맵게 https://programmers.co.kr/learn/courses/30/lessons/42626# 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + ( 두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 떄, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수 작..
-
[Programmers] 쇠막대기Algorithm/Programmers 2020. 5. 31. 15:24
[Level 2] 쇠막대기 https://programmers.co.kr/learn/courses/30/lessons/42585 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 레이저는 여는 괄호와 닫는 괄호의 인접한 쌍 '()'으로 표현한다. 또한 모든 '()'는 반드시 레이저를 표현한다. 쇠막대기의 왼쪽 끝은 여는 괄호 '('로, 오른쪽 끝은 닫힌 괄호 ')'로 표현된다.' 쇠막대기와 레이저의 배치를 표현한 문자열 arrangement가 매개변수로 주어질 때, 잘린 쇠막대기 조각의 총 개수를 return 하도록 solution 함수를 작성 Solution 먼저 문자열 arrangemen..
-
[Programmers] 다리를 건너는 트럭Algorithm/Programmers 2020. 5. 30. 18:57
[Level 2] 다리를 건너는 트럭 https://programmers.co.kr/learn/courses/30/lessons/42583 트럭은 1초에 1만큼 움직이여, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. solution 함수의 매개변수로 다리 길이 bridge_length, 다리가 견딜 수 있는 무게 weight, 트럭별 무게 truck_weights가 주어집니다. 이때 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 return 하도록 solution 함수 완성 하세요 Solution waitingQ에서 대기 하는 차의 무게가 다리가 지탱할 수 있는 무게보다 작거나 같을 때 다리위 트럭을 의미하는 onBridge 리스트에 추가한다. while문에서는 ..
-
[Programmers] 스킬트리Algorithm/Programmers 2020. 5. 30. 16:11
[Level 2] 스킬트리 https://programmers.co.kr/learn/courses/30/lessons/49993# 선행 스킬 순서 skill과 유저들이 만든 스킬트리를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성 스킬은 알파벳 대문자로 표기하며, 모든 문자열은 알파벳 대문자로만 이루어져 있다. Solution 스킬트리 배열(skill_trees[])의 원소에 대해 주어진 선행 스킬순서에 위배되지 않는지 체크하면서 answer++ Skill 클래스에 bool 타입의 used 속성을 만들어 isVaild() 함수에서 위배여부를 체크했다. 다른 사람들 풀이 보니까 자괴감 느껴짐 ,, 오래 생각 하고 풀어야겠다. ..
-
[Programmers] 프린터Algorithm/Programmers 2020. 5. 29. 15:19
[Level 2] 프린터 https://programmers.co.kr/learn/courses/30/lessons/42587 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기 목록의 가장 앞에 있는 문서(J)를 대기 목록에서 꺼냅니다. 2. 나머지 인쇄 대기 목록에서 J 보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기 목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. Solution LinkedList를 사용해 맨 앞에서 부터 하나씩 꺼내 나머지 문서중에 value가 높은 문서가 있는지 확인한다. (1) 있으면 리스트의 마지막에 넣고 (2) 없을 경우에는 요청한 문서인지 확인한다. 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 ..
-
[Programmers] 주식가격Algorithm/Programmers 2020. 5. 29. 12:35
[Level 2] 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. Solution cur은 현재 시점의 가격이고, 현재 시점을 기준으로 이전의 주식가격(prices[i])을 cur과 비교하면서 가격이 떨어지지 않은 기간을 증가하는 방식 정확성 테스트는 통과했지만 효율성 테스트는 통과하지 못했다. 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 class Solution { static int[] answer; static boolean[] flag; public int[] solution(int[] ..