f '레벨2' 태그의 글 목록 (2 Page) — 하늘속에서IT

레벨2

    Programmers DFS/BFS :: 레벨 2 :: 게임 맵 최단거리

    풀이 package programmers.highscorekit; import javax.xml.soap.Node; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; /** * 설명 * - 프로그래머스 > 고득점 kit > 깊이/너비 우선 탐색(DFS/BFS) > level2 > 게임 맵 최단거리 * - 경로 : https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=java * * */ public class ShortestWayInGa..

    Programmers 완전탐색 :: 레벨2 :: 카펫

    풀이 /** * 설명 * - 프로그래머스 > 고득점 kit > 완전탐색 > level2 > 카펫 * - 경로 : https://school.programmers.co.kr/learn/courses/30/lessons/43238 * * */ class Carpet { fun solution(brown: Int, yellow: Int): IntArray{ /** * 로직설명 * - 내부 사각형(노랑타일)의 가로길이를 w, 세로길이를 h 라고 하자. * * - #1 첫번째 조건 * -- 2w + 2h + 4(꼭지점 타일 갯수) = brown * * - #2 두번째 조건 * -- w*h = yellow * * */ // 2w + 2h + 4 = brown // w * h = yellow var yellowWid..

    Programmers 스택/큐::레벨2::주식가격

    풀이 class Solution { public int[] solution(int[] prices) { int[] result; // 주식 데이터가 없을 수 도 있습니다. if(prices.length == 0){ result = new int[]{}; return result; } // 주식 데이터가 하나만 있을 수 도 있습니다. else if(prices.length == 1){ result = new int[]{0}; return result; } // 주식 데이터가 둘 이상일 경우. result = new int[prices.length]; // 현재 비교하고자 하는 주식데이터에 대한 인덱스 int curIdx = 0; // 모든 데이터를 비교했는지 알아보기 위한 조건 while(curIdx < ..

    Programmers :: 해시 전화 번호 목록 레벨2

    풀이 import java.util.Arrays; class Solution { public boolean solution(String[] phone_book) { boolean answer = true; Arrays.sort(phone_book); for(int i=0;i< phone_book.length;i++){ if(i==phone_book.length-1) break; if(phone_book[i+1].startsWith(phone_book[i])){ answer = false; break; } } return answer; } } 출처 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우,..

    Programmers :: 정렬 가장 큰 수 레벨2

    풀이 class Solution { fun solution(numbers: IntArray): String { if(numbers.contentEquals(IntArray(numbers.size){0})) return "0" return numbers .map { it.toString().repeat(3) } .sortedByDescending { it } .map { it.slice(IntRange(0,it.length/3-1)) } .joinToString("") } } 출처 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2..

    Programmers :: Heap(힙) 더 맵게 레벨2

    풀이 import java.util.Arrays; import java.util.PriorityQueue; import java.util.stream.Collectors; class Solution{ public int solution(int[] scoville, int K){ int count = 0; int firstLowest; int secondLowest; int combinedTwoLowestFoods; PriorityQueue priorityQueueLowest = new PriorityQueue(Arrays.stream(scoville).boxed().collect(Collectors.toList())); while(true){ if(priorityQueueLowest.size() == 1..