kotlin43 [Kotlin] Lv0. a와 b 출력하기 - 181951 출처: 프로그래머스 코딩 테스트 연습 - Lv0. a와 b 출력하기 - 181951 난이도 Level 0 사용 언어 Kotlin 문제 설명 정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요. 제한사항 -100,000 ≤ a, b ≤ 100,000 입출력 예 입력 #1 4 5 출력 #1 a = 4 b = 5 코드 fun main(args: Array) { val (a, b) = readLine()!!.split(' ').map(String::toInt) println("a = $a\nb = $b") } 2023. 9. 4. [Kotlin] 넓이 우선 탐색 - BFS, Breadth-First Search 🔷 넓이 우선 탐색(BFS, Breadth-First Search)란? 시작 노드에서 시작해서 다음 분기(branch)로 넘어가기 전에 인접한 노드를 완벽하게 탐색하는 방법이다. 아직 방문하지 않은 노드를 시작점으로 인접 노드를 계속 탐색한다. 완벽하게 탐색을 한 상태가 되면(인접 노드를 다 방문한 후) 다음 분기로 넘어간다. 🔷 넓이 우선 탐색의 특징 🔹비순환 알고리즘 깊이 우선 탐색과 달리 재귀 방식으로 작동하지 않는다. 🔹비직관적 넓게 퍼지면서 검색하는 방식으로 직관직이지 않다. 🔹선입선출 (FIFO) 방문한 노드들을 차례로 저장한 후 꺼낼 수 있는 자료 구조인 큐(Queue)를 사용한다. 🔹 Queue 게시글 확인하기 🔹방문 여부 확인 모든 노드를 방문하여 방문 여부를 확인해야한다. 미확인 시 무.. 2023. 9. 4. [Kotlin] Lv0. 문자열 출력하기 - 181952 출처: 프로그래머스 코딩 테스트 연습 - Lv0. 문자열 출력하기 - 181952 난이도 Level 0 사용 언어 Kotlin 문제 설명 문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요. 제한사항 1 ≤ str의 길이 ≤ 1,000,000 str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다. 입출력 예 입력 #1 HelloWorld! 출력 #1 HelloWorld! 코드 fun main(args: Array) { val s1 = readLine()!! println(s1) } 2023. 9. 3. [Kotlin] 깊이 우선 탐색 - DFS, Depth-First Search 🔷 깊이 우선 탐색(DFS, Depth-First Search)란? 시작 노드에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법이다. 아직 방문하지 않은 노드를 시작점으로 각 분기를 계속 탐색한다. 완벽하게 탐색을 한 상태가 되면(분기에 노드를 다 방문한 후) 다음 분기로 넘어간다. 🔷 깊이 우선 탐색의 특징 🔹순환 알고리즘 자기 자신을 호출하는 순환 알고리즘의 형태를 가진다. 🔹전위 운행 (Pre-Order Travels) 시작 노드에서 아직 방문이 안 된 인접 분기로 넘어가는 형태는 전위 운행 트리 탐색 방법과 유사하다. 🔹방문 여부 확인 모든 노드를 방문하여 방문 여부를 확인해야한다. 미확인 시 무한 루프에 빠질 수 있다. 🔷 구현 🔹코틀린 (Kotlin) /.. 2023. 9. 3. [Kotlin] 선택 정렬 - Selection Sort 🔷 선택 정렬 (Selection Sort)이란? 가장 작은 수(혹은 가장 큰 수)를 찾아 첫 번째 위치(혹은 마지막 위치)의 수와 교환하는 방식의 정렬 방법이다. 조건에 충 족하는 데이터와 변경할 위치의 데이터를 선택하여 변경한다. 데이터를 정렬하기 위하여 추가적인 데이터가 필요하지 않기에 '제자리 정렬(in-place sort)'로 분류되기도 한다. 🔷 버블 정렬의 장점 🔹교환 횟수 최소화 변경 위치는 미리 정해져있고 부합하는 데이터를 찾아 변경하는 방식으로 교환 횟수는 최소화된다. 🔹적은 메모리 정렬을 위하여 추가적인 메모리를 사용하지 않는다. 🔷 버블 정렬의 단점 🔹비교 횟수 증가 각 위치에 맞는 데이터를 찾기 위하여 매번 데이터를 비교해야한다. 🔹안정성 값이 같은 데이터가 존재하는 경우 상대적인.. 2023. 9. 1. [Kotlin] 범위 지정 함수 - coerceIn, coerceAtMost, coerceAtLeast 🔷 범위 지정 함수란? Coerce는 '강제로 무언가를 하게 하다'라는 뜻이 있다. 내포하는 단어의 뜻처럼 어떠한 범위를 강제로 지정하여 결과값을 도출하는 함수이다. 범위 지정 함수는 "어떠한 영역을 지정하고 내부에서 작동하는 함수"이다. 대표적으로 [ let, with, run, apply, also] 함수가 있다. * 추가 포스팅 예정 🔷 coerceIn 🔹구조 객체가 해당 범위에 있을 경우 해당 값을, 존재하지 않을 경우 경계값(범위의 최소값 혹은 최대값)을 반환 (객체).corerceIn(범위) - 객체로 확인할 값을 지정한다. - 메소드를 적용한다. : coerceIn() - 메소드의 인자값으로 범위를 지정한다. : coerceIn(a..b) / coerceIn(a, b) *a는 범위 내 최소값.. 2023. 8. 28. 이전 1 ··· 3 4 5 6 7 8 다음