본문 바로가기

코딩테스트 준비(kotlin)47

[프로그래머스 kotlin] 기능개발 문제 푸는데 걸린시간 : 40분, 큐 peek ,poll 함수를 까 먹어서 찾는데 시간이 걸림 + ceil(올림 함수도)아이디어 도출 : 5분 , 큐를 사용하여 어떤 형식으로 큐에 값을 넣을지 생각함. package com.example.codingtest_practice1.programmers.level2import java.util.LinkedListimport java.util.Queueimport kotlin.math.*// 기능 개발// 걸린시간 40분 , 문제 구현 35분 아이디어 도출 5분fun solution_dd(progresses: IntArray, speeds: IntArray): IntArray { var answer = intArrayOf() var days= intAr.. 2024. 6. 23.
[프로그래머스 kotlin] 할인 행사 문제 풀이 코드 fun solution(want: Array, number: IntArray, discount: Array): Int { var answer: Int = 0 // 원하는 물품 수량을 Map으로 만듦 val wantMap = mutableMapOf() for (i in want.indices) { wantMap[want[i]] = number[i] } // 할인 기간이 10일이므로, 10일마다 체크 -> 예를 들어 discount.size가 15일 경우, 10씩 한칸씩 이동하면서 6번 검사를 할 수 있게됨 for (i in 0..discount.size-10){ // 10일 간의 할인 목록을 자름 val s.. 2024. 6. 21.
[kotlin 코틀린] groupBy와 groupingBy groupBy와 groupingBy 함수는 비슷한 기능을 제공하지만 사용 방법과 반환값이 다르다 !! groupBygroupBy 함수는Map>형태의 결과를 반환한다. 즉, 키와 키에 해당하는 요소들을 리스트로 묶은 맵을 반환한다. 이 함수는 컬렉션의 각 요소에 대해 키를 추출하여 그룹화하고, 각 그룹은 해당 키와 일치하는 요소들의 리스트로 표현된다.위 예시처럼 문자열의 길이를 기준으로 그룹화할 수 있습니다.val words = listOf("apple", "apricot", "banana", "blueberry", "cherry")val groupsByFirstChar = words.groupBy { it.first() }println(groupsByFirstChar) // 출력: {a=[apple, a.. 2024. 6. 21.
[프로그래머스 kotlin] 행렬의 곱셈 문제 해결 POINT연산은 앞쪽의 열과 뒤쪽의 행이 같아야 이루어질 수 있다.연산의 결과 행렬의 크기는 앞쪽의 행 * 뒤쪽의 열 이다.answer[i][j] += arr1[i][k] * arr2[k][j] 이다  ,이 때 k는 앞쪽의 열이자 뒤쪽의 행 풀이 코드class Solution { fun solution(arr1: Array, arr2: Array): Array { val answer = Array(arr1.size) { IntArray(arr2[0].size) } for(i in 0 until arr1.size){ // 행 길이 for(j in 0 until arr2[0].size){ // 열의 길이 var sum=0 for.. 2024. 6. 20.