본문 바로가기

분류 전체보기97

[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.
[프로그래머스] 카펫 (kotlin) 문제 설명문제 해결 Point(행- 2) * (열- 2 ) = yellow의 개수이다. 주어진 brown과 yellow의 합은 전체 카펫의 넓이이다. 그러므로 문제에서 정답인 return의 값은brown과 yellow의 합의 약수를 구한 뒤, 곱했을 때 합이 되는 수의 조합을 고려하면 된다. 예를들어 brown : 10 yellow : 2 일 경우 합은 12 나올 수 있는 경우의 수는 (1, 12) , (2, 6) ,(3, 4) (4, 3) ,(6, 2), (12, 1)  이다. 일단 가로의 길이가 세로보다 길거나 같다고 제한사항에 있으므로 경우의 수가 (1, 12) , (2, 6) , (3, 4)은 제외한다. (4, 3) (6, 2)  (12, 1) 이 조합중에서 , (행-2)*(열-2)=yellow .. 2024. 6. 11.
[kotlin] Data,Sealed class fun main(){ ///////// data class 예시 ///////// val person=Person("수지",24) val dog=Dog("해피",23) println(person.toString()) // 그냥 참조 주소값이 나옴 // 출력: org.techtown.part0.kotlin.part2.Person@2acf57e3 println(dog.toString()) // 데이터 클래스의 경우 안의 데이터를 볼 수 있는 tostring 함수가 구현됨 // 출력 : Dog(name=해피, age=23) println(dog.copy(age=3)) // 원.. 2024. 6. 3.