Kotlin 12

(백준/Kotlin) 1225번 : 이상한 곱셈

난이도: 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..

코딩 테스트 2021.10.21

(백준/Kotlin) 10811번 : 바구니 뒤집기

난이도: 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..

코딩 테스트 2021.10.18

(백준/Kotlin) 9469번 : 폰 노이만

난이도: 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])}" }) } }

코딩 테스트 2021.10.08

(백준/Kotlin) 7510번 : 고급 수학

난이도: 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() ..

코딩 테스트 2021.10.05

yyyy-mm-ddTHH:mm:ss(LocalDateTime) 를 원하는 데로 주무르기(T 만 없애는 등)

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..

Language/Kotlin 2021.09.28

코틀린에서 java.time.LocalDateTime 을 비교하기

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..

Language/Kotlin 2021.09.27

RestTemplate 와 ObjectMapper 활용기(스프링에서 다른 서버의 JSON API Token 을 가져와서 이용해야 할 때)

우선 API 서버의 스펙을 확인하고 data class 를 만들어 줍니다. data class GetToken( val responseCode: String, val token: String ) Http Request 이후 Json 을 담아줄 클래스에 아래 내용을 추가해 줍니다. @Autowired lateinit var restTemplate: RestTemplate var mapper: ObjectMapper = ObjectMapper().registerModules(KotlinModule()) 펑션을 하나 만드셔서 안에 아래 내용을 작성하기 시작합니다. val headers = HttpHeaders() headers.contentType = MediaType.APPLICATION_JSON conte..

Kotlin Spring Boot 에 Querydsl 종속성이 추가된 프로젝트 소스 공유

스프링 이니셜라이저에는 왜 querydsl 이 없는가! 그래서 제가 공개 템플릿 레포를 하나 만들었습니다. https://github.com/Kuass/Kotlin-Spring_Boot-Example GitHub - Kuass/Kotlin-Spring_Boot-Example: Why isn't there a querydsl in the spring initializer! Why isn't there a querydsl in the spring initializer! - GitHub - Kuass/Kotlin-Spring_Boot-Example: Why isn't there a querydsl in the spring initializer! github.com

(백준/Kotlin) 10818번 : 최소, 최대 (시간 복잡도/선형 시간, 메소드 성능 비교)

난이도: Bronze 3 프로그래밍 언어: Kotlin 문제명: 최소, 최대 푼일자: 2021년 6월 주소: https://www.acmicpc.net/problem/10818 문제풀기 단순한 선형 시간 O(n) 문제이다. 제출하고, 생각나는 몇가지 방법이 있어 각각 백준에 제출을 해서 성능을 비교해 보았다. MutableList 형에서 지원하는 .min() 과 .max() 를 사용해 보았다. fun resolve1() = with(Scanner(System.`in`)) { nextLine() val r = nextLine().split(" ").map { it.toInt() }.toTypedArray().toList() print("${r.minOrNull()} ${r.maxOrNull()}") } M..

코딩 테스트 2021.06.03