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

분류 전체보기

    프로그래머스 :: 연습문제 :: 연속 부분 수열 합의 개수

    풀이 class 연속_부분_수열_합의_개수 { fun solution(elements: IntArray): Int { val sequentialSet = mutableSetOf() /** * 수도 코드 * * list = [ * elements[0], ... , elements[4], * elements[0] + elements[1], ... , elements[4] + elements[0], * ... * ] * */ getSolution(sequentialSet, elements) return sequentialSet.size } /** * 설명 * - 회전 수열은 그것의 크기(길이)로 인해 다른 값이 나온다. * - 마지막 값은 전체의 합과 동일하기에 모두 같은 값이 됨으로 하나만 계산한다. * *..

    프로그래머스 :: 연습문제 :: 숫자 카드 나누기

    풀이 package programmers.test import kotlin.math.sqrt class 숫자카드나누기 { fun solution(arrayA: IntArray, arrayB: IntArray): Int { val answerList = mutableListOf() /** * 설명 * - 철수와 영희가 가진 숫자카드의 최대공약수를 구한다. * - 각자의 공약수로 상대방의 숫자카드가 안나뉘어지는지 확인한다. * - 안나뉘어진다면 `answerList`의 원소로 추가한다. * * - 만약 `answerList`의 크기가 0 이라면 조건에 해당하는 경우가 없음으로 `0`을 return 한다. * - 그게 아니라면 `answerList`의 수중 가장 큰 수를 return 한다. * */ val g..

    Programmers :: 연습문제 :: 우박수열 정적분

    풀이 import kotlin.math.absoluteValue class 우박수열_정적분 { fun solution(k: Int, ranges: Array): DoubleArray { val hailElements = hailSequence(k.toDouble()) val hailSizes = calcSizeOfHail(hailElements) val answer = getSolution(hailElements.size, ranges, hailSizes) return answer.toDoubleArray() } fun getSolution(hailLength: Int, ranges: Array, sizes: List): List{ val solution = mutableListOf() for(range..

    Programmers :: 고득점 kit :: DFS/BFS :: 단어변환

    풀이 class Solution { fun solution(begin: String, target: String, words: Array): Int { val answerList = mutableListOf() /** * 설명 * - target 이 words 에 포함되지 않는다면 해결방법은 없을것이다. * */ if(words.contains(target).not()){ return 0 } val visited = BooleanArray(words.size){false} DFS(begin, target, answerList, words, visited, 0) return answerList.minOf { it } } private fun DFS(cmpValue: String, target: String..

    Programmers :: 연습문제 :: 롤케이크 자르기

    풀이 class 롤케이크자르기 { fun solution(topping: IntArray): Int { var result = 0 /** * 설명 * - 만약 topping 의 크기가 `1` 이라면 공평하게 나눠 먹을 수 없다. * */ if(topping.size == 1){ return 0 } /** * 설명 * - `철수`와 `철수 동생`이 slicingPoint 를 기준으로 몇가지 종류의 topping 을 가지고 있는지 표현한다. * * @Variable * - 철수 : cs * - 철수 동생 : csBrother * - slicingPoint : `철수`와 `철수 동생`이 공평하게 나눠먹을 수 있는 시점 * */ val csGroup = topping.slice(IntRange(0,0)).toT..

    Programmers :: 고득점 kit :: 이중우선순위큐

    풀이 class 이중우선순위큐 { /** * 설명 * - 정렬 된다면 가장 큰 값과 가장 작은 값을 인덱스로 찾아 낼 수 있다. * - 따라서 정렬을 시킨 뒤에 해당 원소를 삭제 시킴으로써 해결할 수 있다. * */ fun solution(operations: Array): IntArray { val sortedList = mutableListOf() operations.forEach { operation -> if(operation.contains("I")){ sortedList.add(operation.split(" ")[1].toInt()) sortedList.sort() } else{ if(sortedList.isNotEmpty()){ if(operation == "D 1"){ sortedList..

    Programmers :: 연습문제 :: 최솟값

    풀이 import java.util.Arrays; /** * 설명 * - 프로그래머스 > 연습문제 > 최솟값 * - 경로 : https://school.programmers.co.kr/learn/courses/30/lessons/12941?language=java * * */ public class 최솟값 { /** * 설명 * - 제일 큰 수와 제일 작은 수의 곱의 합이 제일 작은 값일 거라는 생각으로 시작 * */ public int solution(int []A, int []B) { int[] sortedArrA = Arrays.stream(A).sorted().toArray(); int[] sortedArrB = Arrays.stream(B).sorted().toArray(); int sum = ..

    Programmers :: 2022 tech internship :: 두 큐 합 같게 만들기

    풀이 import java.util.* class Solution { fun solution(queue1: IntArray, queue2: IntArray): Int{ var answer = -2 /** * 설명 * - 두큐의 값 교환에 대한, 최악의 수 * * 예 * - 1번큐: [1,1,1...](300,000개) * - 2번큐: [1,1,1..,599999,1](300,000개) * - 위 두큐의 값이 같아지려면 * - 2번큐에서 299,999 번 이동하고 * - 1번큐에서 599.998 번 이동해야 한다. * */ val oneCycleCounts: Long = queue1.size.toLong() * 3 - 3 val firstQueue: Queue = LinkedList(queue1.toMut..

    Programmers :: 2021 카카오 채용연계형 인턴십 :: 거리두기 확인하기

    풀이 /** * 설명 * - 프로그래머스 > 2021 카카오 채용연계형 인턴십 * - 경로 : https://school.programmers.co.kr/learn/courses/30/lessons/81302 * * */ class 거리두기확인하기 { fun solution(places: Array): IntArray{ /** * 로직설명 * - 코테설명 이미지를 보고 힌트를 얻었다. * - 이미지에 따르면 패턴이 존재한다는 것을 알 수 있다. * - 해당 패턴은 예를들면 다음과 같다. "PP", "POP" * */ var answer: IntArray = IntArray(places.size){0} places.forEachIndexed { index, place -> var colPlace = gen..

    Programmers :: Summer/Winter Coding(2019) :: 멀쩡한 사각형

    풀이 package programmers.summerwinter import kotlin.math.ceil import kotlin.math.floor /** * 설명 * - 프로그래머스 > Summer/Winter Coding(2019) > 멀쩡한 사각형 * - 경로 : https://school.programmers.co.kr/learn/courses/30/lessons/62048 * * */ class FineSquare { /** * 설명 * - 문제에서는 왼쪽위에서 아래 대각선으로 가로지르는데 이는 왼쪽 아래 즉,[0,0](좌표)에서 시작해서 오른쪽 위까지 가로지르는 것과 같은 결과값을 가진다. * - 기울기: h/w, 인 1차 방정식 그래프를 그릴 수 있다는 것을 알 수 있다. * - 그림을 ..