본문 바로가기

분류 전체보기71

[Kotlin] Lv0. 대소문자 바꿔서 출력하기 - 181949 출처: 프로그래머스 코딩 테스트 연습 - Lv0. 대소문자 바꿔서 출력하기 - 181949 난이도 Level 0 사용 언어 Kotlin 문제 설명 영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요. 제한사항 1 ≤ str의 길이 ≤ 20 str은 알파벳으로 이루어진 문자열입니다. 입출력 예 입력 #1 aBcDeFg 출력 #1 AbCdEfG 코드 fun main(args: Array) { val s1 = readLine()!! println( s1.map { if (it.isUpperCase()) it.lowercase() else it.uppercase() }.joinToString("") ) } 2023. 9. 4.
[Kotlin] Lv0. 문자열 반복해서 출력하기 - 181950 출처: 프로그래머스 코딩 테스트 연습 - 문자열 반복해서 출력하기 - 181950 난이도 Level 0 사용 언어 Kotlin 문제 설명 문자열 str과 정수 n이 주어집니다. str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요. 제한사항 1 ≤ str의 길이 ≤ 10 1 ≤ n ≤ 5 입출력 예 입력 #1 string 5 출력 #1 stringstringstringstringstring 코드 fun main(args: Array) { val input = readLine()!!.split(' ') val s1 = input[0] val a = input[1]!!.toInt() for(i in 0..a-1){ print(s1) } } 2023. 9. 4.
[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.