전체 글(110)
-
크루스칼 알고리즘 & Union Find 알고리즘 ( 최소 신장 트리 , Kotlin )
노드 정점들을 연결하는데 가장 적은 비용으로 연결하려면 어떻게 해야할까?? 위의 질문에 해결하기 위한 대표적인 방법으로 크루스칼 알고리즘을 들 수 있습니다. 크루스칼 알고리즘으로 모든 노드를 지나면서 사이클이 생기지 않고 가장 적은 비용을 가는 경로를 알 수 있습니다. 아래에 4개의 그림이 있습니다. 4개의 그림 모두 그래프의 모든 정점을 지납니다. 또한 순환고리 즉 사이클이 생기지 않은 연결들입니다. 이러한 연결들을 신장 트리라고 합니다. 각 각의 그림의 가중치 합은 다음과 같습니다. 왼쪽 위 : 3+4+1 = 8 오른쪽 위 : 4+3+2 = 9 왼쪽 아래 : 4+5+2 = 11 오른쪽 아래 : 3+2+1 = 6 가장 적은 가중치의 합을 가진 그림은 오른쪽 아래에 있는 그래프입니다. 가장 작은 값을 갖..
2023.03.02 -
프로그래머스 알고리즘 Level 1 코틀린 소수 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 성공 class Solution { fun solution(nums: IntArray): Int { var answer = 0 for(i in 0..nums.size-3) { for(j in i+1..nums.size-2){ for(k in j+1..nums.size-1) { if(cnt(nums[i]+nums[j]+nums[k])==2) answer++ } } } return answe..
2023.01.27 -
프로그래머스 알고리즘 Level 1 코틀린 푸드파이트 대회
https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 성공 class Solution { fun solution(food: IntArray): String { var answer: String = "" val foodCnt = food.slice(1..food.size-1).map{ it/2 } val individualFood = mutableListOf() for(i in foodCnt.indices){ for(j in 0 until ..
2023.01.27 -
프로그래머스 알고리즘 Level 1 숫자 짝궁 코틀린
https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 성공 class Solution { fun solution(X: String, Y: String): String = X.filter { Y.contains(it) } .groupBy { it } .map {if (it.value.size < Y.groupBy { it }[it.key]!!.size) it.value else Y.groupBy { it }[it.key]!!} .flatte..
2023.01.27 -
프로그래머스 알고리즘 Level 1 ( 2019 KAKAO BLIND RECRUITMENT 실패율 문제 )
https://school.programmers.co.kr/learn/courses/30/lessons/42889#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 성공 class Solution { fun solution(N: Int, stages: IntArray): IntArray { var answer = intArrayOf() val failureRateList = mutableListOf() for (i in 1..N) { if (stages.count { it >= i } == 0) { failureRateList.add(0.0)..
2023.01.26 -
프로그래머스 알고리즘 Level 1 체육복
https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 성공 class Solution { fun solution(n: Int, lost: IntArray, reserve: IntArray): Int { var answer = 0 val lostList = lost.filterNot { reserve.contains(it) }.sorted().toMutableList() val reserveList = reserve.filterNot { lo..
2023.01.26