알고리즘(43)
-
Prim Algorithm kotlin
Prim Algorithm 특징 무향 그래프에 적용 가능 모든 꼭지점을 포함하는 최소 신장 트리를 알 수 있다. ( MST ) 개념 0-4까지 5개의 노드가 있고 아주 특별한 주머니가 하나 있다. 이 주머니는 안에 들어있는 값들 중 가장 작은 값을 뱉는다. 이제 정점들을 모두 포함하고 가중치의 합이 가장 작은 신장 트리를 Prim Algorithm을 이용해 구해보자. 아무 노드 하나를 골라보자. 2번을 선택하자. 2번 정점을 이제 주머니에 넣자. 현재 거리 합계 : 0 방문 상황: 0 -> 미방문 , 1 -> 방문 0번 0 1번 0 2번 0 3번 0 4번 0 특별한 주머니에서 하나 꺼내보니 방금 넣었던 2번 정점이 들어있다. 이제 2번 정점으로 가자. 2번 정점은 방문 처리를 한다. 2번이 시작 거리이므..
2023.06.21 -
정렬 알고리즘 정리 코틀린
정렬 알고리즘 이번 시간에는 정렬 알고리즘 6개에 대해 설명과 시간복잡도, 그림, 구현 코드를 정리하고 손코딩으로 꼭 외울 수 있게 암기하는 시간을 가져보겠습니다. 아래 참고 사이트 https://www.toptal.com/developers/sorting-algorithms Sorting Algorithms Animations Animation, code, analysis, and discussion of 8 sorting algorithms on 4 initial conditions. www.toptal.com https://visualgo.net/en/sorting Sorting (Bubble, Selection, Insertion, Merge, Quick, Counting, Radix) - Vis..
2023.05.03 -
프로그래머스 Level2 프린터
프린터 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문제에 대해 간단히 설명드리면 인쇄 요청을 하는 배열이 들어옵니다. 이제 인쇄 요청대로 맨 앞의 문서부터 프린터하려고 하는데 각 문서마다 고유한 우선순위가 있습니다. 맨 처음 순서에 인쇄하려는 문서를 확인해보니 이 문서보다 우선순위가 높은 문서가 목록에 있으면 이 손에 들고있는 문서를 요청 목록 맨 뒤에 다시 넣습니다. 그리고 다시 맨 앞에서 문서 하나를 꺼내..
2023.04.14 -
프로그래머스 Level2 기능 개발
기능 개발 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 간단하게 설명드리면, progresses 배열에 현재까지 진행된 각 프로젝트의 진척도가 있습니다. speeds 배열에서는 progresses와 index가 같은 위치의 프로젝트가 하루에 얼마큼 일할 수 있는지 하루 당 진행속도가 들어있습니다. 주의할 점은 뒤에 더 빨리 배포가 가능한 일이 있어도 앞에서 일이 끝나지 않으면 배포가 불가능합니다. 즉, 앞에서 ..
2023.04.13 -
프로그래머스 Level2 연속 부분 수열 합의 개수
연속 부분 수열 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 위의 링크에서 확인 부탁드립니다. 간단하게 설명드리면, 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 나올 수 있는 경우는 길이가 1인 연속 부분 수열로부터 [1, 4, 7, 9] 네 가지의 합이 나올 수 있습니다. 길이가 2인 연속 부분 수열로부터 [2, 5, 10, 11, 16] 다섯 가지의 합이 나올 수 있습니다. 길이가 3인 연속 부분..
2023.04.13 -
프로그래머스 Level2 예상 대진표
예상 대진표 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 광고 게시가 없는 비영리, 비상업적 포스트입니다. 풀이 class Solution { fun solution(n: Int, a: Int, b: Int): Int { var cnt = 1 var a = a-1 var b = b-1 while(a/2 != b/2) { a /= 2 b /= 2 cnt++ } return cnt } } 예시를 보고 설명드리겠습니다. n =..
2023.04.11