f '분류 전체보기' 카테고리의 글 목록 (6 Page) — 하늘속에서IT

분류 전체보기

    Programmers 동적계획법 :: 레벨3 :: N 으로 표현

    풀이 /** * 설명 * - 프로그래머스 > 고득점 kit > 동적계획법 > level3 > N으로 표현 * - 경로 : https://school.programmers.co.kr/learn/courses/30/lessons/42895?language=kotlin * * */ class ExpressedByN { fun solution(N: Int, number: Int): Int{ // 초기 접근 // var answer = 0 // // if(N == number){ // return 1; // } // // val oneTimesUsed = listOf(5) // val twoTimesUsed = listOf(55, 5+5, 5-5, 5*5, 5/5) // val threeTimesUsed = li..

    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 이분탐색 :: 레벨3 :: 입국심사

    풀이 class Immigration { fun solution(n: Int, times: IntArray): Long{ var answer: Long = 0 times.sort() var start: Long = 0 var end: Long = times.last().toLong() * n /** * 특이점 * - while(start < end) 조건은 왜 불가능할까? * * 예를 통해 알아보자 * n : 6 * times : [7,10] * 만약 start : 28, end: 31 이라고 할때를 가정해보자 * start: 28, end: 31 * mid: 29 * end

    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 < ..

    Fancy Zone(Power Toys)가 관리자 권한 창에서 되지 않는다?

    vscode 에서 터미널을 관리자로 사용하고 싶어서, 기본 실행을 관리자 권한 실행으로 수정했는데 이때부터 잘되던 Fancy Zone 이 동작하지 않기 시작했다... 당황하지마.. 일단 문제를 겪은뒤 윈도우즈 프로그래밍에서는 관리자 관련 이슈가 문제가 생길 수 있다는 경우의수를 알게 되었다는 소중한 경험을 했다는 사실에 개발자로써 행복하다 ㅎㅎ..;; 이미 이런 문제가 있을줄 알았던 선배님들에게 경례! Windows용 PowerToys 관리자 모드 PowerToys 관리자 모드에서 실행되는 앱으로 작업하려면 관리자 모드 PowerToys 에서도 실행되어야 합니다. docs.microsoft.com PowerToys 문서에 따르면 관리자 모드로 들어갔을때, `Fancy Zone` 을 비롯한 다른 유틸리티도..

    Programmers 스택/큐::레벨2::프린터

    풀이 import java.util.* class Solution { fun solution(priorities: IntArray, location: Int): Int { val operationQ: Queue = LinkedList() val standByQ: Queue = LinkedList(priorities.mapIndexed { index, priorityValue -> PrintTarget(index, priorityValue) }) /** 설명 - operationQ(실제 실행 대기열) 와 standByQ(실행 하기전 대기열) 두개의 큐를 선언한다. - 문제의 조건에 맞추어 standByQ 에서 operationQ 로 값을 이동시킨다. */ while(standByQ.isNotEmpty())..

    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..