전체 글

Algorithm/Java알고리즘 문제풀이 & Kotlin

[Algorithm] 가장 짧은 문자거리

한 개의 문자열 a와 문자 b가 주어지면 문자열 a의 각 문자가 문자 b와 떨어진 최소거리를 출력하는 알고리즘 문제 import java.util.Scanner; public class Main { public int[] solution(String s, char c) { int[] answer = new int[s.length()]; int num = 1000; for (int i = 0; i =0; i--){ if (s.charAt(i) == c){ num = 0; } ..

Algorithm/[알고리즘]BACKJOON - Java&Kotlin

백준 Kotlin 17298번 : 오큰수

https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net import java.util.Scanner import java.util.Stack fun main() { val sc = Scanner(System.`in`) val sb = StringBuilder() var n = sc.nextInt() var stack = Stack() var s = IntArray(n) for (i in 0 until n){ s[i] = sc.nextInt() } for (i i..

Algorithm/[알고리즘]BACKJOON - Java&Kotlin

백준 Kotlin 4948번 : 베르트랑 공준

https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net import java.util.Scanner import kotlin.math.sqrt fun main() { val sc = Scanner(System.`in`) while (true){ var n = sc.nextInt() if (n == 0){ break } var arr = BooleanArray(2*n+1) arr[0] = true arr[1] = true var a = sqrt(..

Algorithm/[알고리즘]BACKJOON - Java&Kotlin

백준 Kotlin 1158번 : 요세푸스 문제

https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net import java.util.LinkedList import java.util.Scanner fun main() { val sc = Scanner(System.`in`) var list = LinkedList() var N = sc.nextInt() var K = sc.nextInt() for (i in 1..N){ list.add(i) } print("") }

Kotlin

[Kotlin] lateinit vs lazy

나중에 초기화 나중에 초기화란 프로퍼티 초기화를 나중에 한다는 뜻이다 lateinit lateinit의 경우에는 값이 변경될 수 있으므로 var을 사용해야 합니다.프로퍼티를 초기화하기 전에 프로퍼티에 접근하면 "lateinit property text has not been initialized"라는 예외가 발생합니다. lateinit을 사용하여 text 변수를 선언하고 이후에 초기화를 해주었다. fun main() { lateinit var text: String val result1 = "안녕하세요" text = "Result : $result1" println(text) * Primitive Type (Int, Float, Double, Long 등) 에는 사용할 수 없다. 지연 초기화 객체의 일부..

Algorithm/[알고리즘]BACKJOON - Java&Kotlin

백준 Kotlin 1463번 : 1로 만들기

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net import java.util.Scanner fun main() { val sc = Scanner(System.`in`) var n = sc.nextInt() var dp = IntArray(n+1) dp[1] = 0 for (i in 2..n){ dp[i] = dp[i-1] + 1 if (i % 2 == 0){ dp[i] = Math.min(dp[i], dp[i/2]+1) } if (i % 3 == 0){ dp[i] = Math.min(dp[i], dp[i/3] + 1) } } print(dp[n]) }

Algorithm/[알고리즘]BACKJOON - Java&Kotlin

백준 Kotlin 9020번 : 골드바흐의 추측

https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net import java.util.Scanner fun main() { val sc = Scanner(System.`in`) var N = 10000 var check = BooleanArray(N+1) for (i in 2.. N){ check[i] = true } for (i in 2..Math.sqrt(N.toDouble()).toInt()){ for (j in i+i..N ..

Algorithm/[알고리즘]BACKJOON - Java&Kotlin

백준 Kotlin 11729번 : 하노이 탑 이동 순서

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net import java.util.* fun main() { val sc = Scanner(System.`in`) val sb = StringBuilder() var n = sc.nextInt() var cnt = 0 fun move(n:Int, start:Int, sub:Int, end:Int,){ if (n == 0) return cnt += 1 move(n-1, start, end,..

Algorithm/[알고리즘]BACKJOON - Java&Kotlin

백준 Kotlin 2751번 : 수 정렬하기 2

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net import java.util.* fun main() { val sc = Scanner(System.`in`) var sb = StringBuilder() var n = sc.nextInt() var arr = ArrayList() for (i in 0 until n){ arr.add(sc.nextInt()) } Collections.sort(arr) for (i in 0 until n..

Algorithm/[알고리즘]BACKJOON - Java&Kotlin

백준 Kotlin 2960번 : 에라토스테네스의 체

https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net import java.util.* import kotlin.system.exitProcess fun main() { val sc = Scanner(System.`in`) var n = sc.nextInt() var k = sc.nextInt() var check = BooleanArray(n+1) var cnt = 0 for (i in 2..n){ for (j in i..n step i){ if (check[j] == false){ cnt++ check[j] = true } if (c..

yunJaem06
비바윤