(백준/Kotlin) 2667번 : 단지번호붙이기
·
CodingTest
난이도: Silver 1 프로그래밍 언어: Kotlin 문제명: 단지번호붙이기 푼일자: 2021년 11월 주소: https://www.acmicpc.net/problem/2667 문제풀기 이게 실버 1 문제라고..? 하면서 너무 쉽게 풀어버린 문제였습니다. dfs 를 이용하였습니다. package kr.kua.baekjoon val dirs = arrayOf(intArrayOf(-1, 0), intArrayOf(1, 0), intArrayOf(0, 1), intArrayOf(0, -1)) var m = 0 var n = 0 var t = 0 fun main() = with(System.`in`.bufferedReader()) { // 단지번호붙이기 m = readLine().toInt() n = m va..
(백준/Kotlin) 5635번 : 생일
·
CodingTest
난이도: Silver 5 프로그래밍 언어: Kotlin 문제명: 생일 푼일자: 2021년 11월 주소: https://www.acmicpc.net/problem/5635 문제풀기 import java.time.LocalDate data class People(val name: String, val birthday: LocalDate) fun main() = with(System.`in`.bufferedReader()) { // 생일 val list = mutableListOf() repeat(readLine().toInt()) { val (a, b, c, d) = readLine().split(" ") list.add(People(a, LocalDate.parse("$d-${c.padStart(2, '0..
(백준/Kotlin) 11650번 : 좌표 정렬하기
·
CodingTest
난이도: Silver 5 프로그래밍 언어: Kotlin 문제명: 이상한 곱셈 푼일자: 2021년 11월 주소: https://www.acmicpc.net/problem/11650 문제풀기 import java.util.* fun main() = with(System.`in`.bufferedReader()) { // 좌표 정렬하기 val N = readLine().toInt() val arr = Array(N) { IntArray(2) } repeat(N) { i -> readLine().split(" ").map { it.toInt() }.let { arr[i][0] = it[0]; arr[i][1] = it[1] } } Arrays.sort(arr) { a, b -> if (a[0] == b[0]) r..
(백준/Kotlin) 1225번 : 이상한 곱셈
·
CodingTest
난이도: Bronze 2 프로그래밍 언어: Kotlin 문제명: 이상한 곱셈 푼일자: 2021년 10월 주소: https://www.acmicpc.net/problem/1225 문제풀기 문제 설명에 나온대로 풀어서 결과가 나올 수 있도록 문제를 풀었습니다. fun main() = with(System.`in`.bufferedReader()) { val (A, B) = readLine().split(" ") print(A.fold(0L) { total, num -> total + B.sumOf { num.digitToInt() * it.digitToInt() } }) } 조금 더 머리를 사용해서 알고리즘을 최적화한 버전입니다. fun main() = with(System.`in`.bufferedReader..
(백준/Kotlin) 10811번 : 바구니 뒤집기
·
CodingTest
난이도: Bronze 2 프로그래밍 언어: Kotlin 문제명: 바구니 뒤집기 푼일자: 2021년 10월 주소: https://www.acmicpc.net/problem/10811 문제풀기 1차 제출 코드입니다. import java.util.* fun main() = with(System.`in`.bufferedReader()) { // 바구니 뒤집기 val (N, M) = readLine().split(" ").map { it.toInt() } val arr = IntArray(N + 1) { it } repeat(M) { val stack = Stack() val (i, j) = readLine().split(" ").map { it.toInt() } for (m in i..j) stack.push..
(백준/Kotlin) 16171번 : 나는 친구가 적다 (Small)
·
CodingTest
난이도: Silver 5 프로그래밍 언어: Kotlin 문제명: 나는 친구가 적다 (Small) 푼일자: 2021년 10월 주소: https://www.acmicpc.net/problem/16171 문제풀기 정규식을 이용해 간단하게 풀었습니다. fun main() = with(System.`in`.bufferedReader()) { val S = readLine().replace("[0-9]".toRegex(), "") print(if(S.contains(readLine())) 1 else 0) }
(백준/Kotlin) 9469번 : 폰 노이만
·
CodingTest
난이도: Bronze 3 프로그래밍 언어: Kotlin 문제명: 폰 노이만 푼일자: 2021년 10월 주소: https://www.acmicpc.net/problem/9469 문제풀기 간단하게 푼 문제입니다. fun main() = with(System.`in`.bufferedReader()) { // 폰 노이만 repeat(readLine().toInt()) { println(readLine().split(" ").map { it.toDouble() } .let { "${it[0].toInt()} ${java.text.DecimalFormat("#.000000").format(it[1] / (it[2] + it[3]) * it[4])}" }) } }
(백준/Kotlin) 7510번 : 고급 수학
·
CodingTest
난이도: Bronze 3 프로그래밍 언어: Kotlin 문제명: 고급 수학 푼일자: 2021년 10월 주소: https://www.acmicpc.net/problem/7510 문제풀기 제곱 후 비교문장 하나로 해결할 수 있는 문제였습니다. Scenario #N뒤에 콜론을 붙이지 않고 제출하는 등으로 틀렸습니다를 겪었습니다. import kotlin.math.pow fun main() = with(System.`in`.bufferedReader()) { // 고급 수학 repeat(readLine().toInt()) { println("Scenario #${it+1}:") val math = readLine().split(" ").map { i -> i.toDouble().pow(2) }.sorted() ..
yyyy-mm-ddTHH:mm:ss(LocalDateTime) 를 원하는 데로 주무르기(T 만 없애는 등)
·
Language/Kotlin
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss", Locale.KOREA) val nowDateTime = LocalDateTime.now() val localStartDateTime = LocalDateTime.parse(nowDateTime.toString(), formatter) val DT = DateTimeFormatter.ofPattern("HH시 mm분 ss초").format(localStartDateTime) LocalDateTime.parse(nowDateTime.toString(), formatter) 에 변환할 LocalDateTime 형식의 변수를 할당하여 주시고 리턴되는 값을 변경하고 싶으시다면, DateTi..
코틀린에서 java.time.LocalDateTime 을 비교하기
·
Language/Kotlin
import java.time.Duration import java.time.LocalDateTime 임포트를 해줍니다. val targetDate: LocalDateTime = LocalDateTime.of(2021, 9, 27, 17, 37, 39) val nowDate = LocalDateTime.now() // 2021, 9, 27, 17, 38, 00 val duration: Duration = Duration.between(targetDate, nowDate) 위와 같이 코드를 구성해 주면... 20초 라는 결과를 얻을 수 있습니다. 나노초 단위도 얻을 수 있습니다. 소요 시간을 한글로 표현 및 출력하려면 아래처럼 작성할 수 있습니다. val hours = seconds / 3600 val m..