전체 글111 [프로그래머스] 연속 부분 수열 합의 개수 문제 설명철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니다. 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다. 예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다.원형 수열은 처음과 끝이 연결되어 끊기는 부분이 없기 때문에 연속하는 부분 수열도 일반적인 수열보다 많아집니다.원형 수열의 모든 원소 elements가 순서대로 주어질 때, 원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 return 하도록 solution 함수를 완성해주세요. 풀이 코드 fun solution(elements: IntArray).. 2024. 6. 18. [프로그래머스] N개의 최소공배수 (kotlin) 문제해결 point두 수의 최대공약수 구하기 -> 유클리드 호재법 https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95 1. 유클리드 호재법을 사용하여 배열에 인접한 두 수의 최대공약수를 구한 뒤, (두 수의 곱 나누기 최대공약수= 최소공배수) 법칙을 이용하여 최소공배수를 구한다. 2. 구해진 최소공배수를 answer에 반영하고 다음 3번째 인덱스와 반영된 answer의 최소공배수를 구한다. 4. 이와 같은 방법으로 마지막 인덱스의 값과도 최소공배수를 구해 answer에 반영합니다. 전체코드fun solution_l(arr: IntArray): Int { var answer .. 2024. 6. 13. [TIL] 06.12 https://1chanhue1.tistory.com/41 깊이 우선 탐색(DFS, Depth-First Search) 이란?깊이 우선 탐색(DFS, Depth-First Search)깊이 우선 탐색 (DFS)는 하나의 순환 알고리즘으로 백트래킹에 사용하는 대표적인 탐색 알고리즘이다. 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음1chanhue1.tistory.com https://1chanhue1.tistory.com/40 [프로그래머스] 카펫 (kotlin)문제 설명문제 해결 Point(행- 2) * (열- 2 ) = yellow의 개수이다. 주어진 brown과 yellow의 합은 전체 카펫의 넓이이다. 그러므로 문제에서 정답인 return의 값은brown과 yellow의 합의 약수를 구한 뒤.. 2024. 6. 12. 깊이 우선 탐색(DFS, Depth-First Search) 이란? 깊이 우선 탐색(DFS, Depth-First Search)깊이 우선 탐색 (DFS)는 하나의 순환 알고리즘으로 백트래킹에 사용하는 대표적인 탐색 알고리즘이다. 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방식을 말한다. 주로, 재귀함수 또는 Stack으로 구현할 수 있다. 깊이 우선 탐색의 구현1. 순환 호출 이용def dfs_recursive(graph, start, visited = []):## 데이터를 추가하는 명령어 / 재귀가 이루어짐 visited.append(start) for node in graph[start]: if node not in visited: dfs_recursive(.. 2024. 6. 12. 이전 1 ··· 16 17 18 19 20 21 22 ··· 28 다음