세상을 더 편리하게
article thumbnail
[BOJ 12865/Kotlin] 평범한 배낭
알고리즘/BOJ 2021. 2. 14. 21:28

12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 분석 DP를 이용해서 주어진 무게 한게로 가장 높은 가치를 구하는 문제이다. 이 문제의 핵심은 DP의 핵심인 문제를 얼마나 단순화 할 수 있냐는 것이다. [ 다이나믹 프로그래밍 정리 ] 먼저 무게를 기준으로 문제를 단순화 해보았다. 무게 1 2 3 4 5 6 7 가치 - - 6 ?? 다이나믹 프로그래밍, 본인이 DP의 중요하다고 생각하는건 과거의 연산으로 현재의 값을 계산하는 것이다. 하지만 무게를..

article thumbnail
[Kotlin/코틀린] 제곱과 제곱근
Programming/Kotlin 2020. 10. 15. 22:59

1. 제곱근 코틀린에서의 제곱근은 간단하게 사용 할 수 있다. import kotlin.math.* val a = sqrt( Float or Double ) 2. 제곱 제곱근은 알아서 Float 이나 Double 을 사용해야 한다고 알려주지만 제곱근 Int형에 메소드를 찾아보면 나오지 않는다. 제곱근은 반드시 Float 혹은 Double 의 메소드인걸 잊지 말자 val a : Float = (5.0).pow(2) // = 5^2 = 25

article thumbnail
[Kotlin/코틀린] 입력과 출력
Programming/Kotlin 2020. 10. 3. 10:41

입력 코틀린에서는 자바와 같이 Scanner를 이용해서 입력을 받을 수 있다. import java.util.* fun main() { val a = readLine() print("a를 정수로 변환합니다. ${a!!.toInt()}") val s = Scanner(System.`in`) val b = s.next() print("b를 정수로 변환합니다. ${b.toInt()}") val c = s.nextLine() print("c를 정수로 변환합니다. ${c.toInt()}") } 1. readline() readline() 은 String? 타입으로 입력을 받는다. 그렇기에 반드시 다른 type으로 변환할 때에는 !! 를 써줘야 한다. 개행문자로 구분한다. ※ String? = String 이지만 ..

[Kotlin] 제네릭 / Generic
Programming/Kotlin 2020. 3. 19. 04:56

제네릭은 클래수 내부에서 사용할 자료형을 나중에 인스턴스를 생성할 때 확정합니다. 다시 말해 어떤 자료형이 올지 모를 때 객체를 생성할 때 자료형을 정할 수 있습니다. class Box(t: T) { var name = t } fun main() { val box1: Box = Box(1) val box2: Box = Box("택배상자") println(box1.name) println(box2.name) } /* 1 택배상자 */ 위의 코드블럭처럼 자신이 원하는 자료형으로 인스턴스를 생성할 때 마다 만들 수 있다. ※ T = Type 을 뜻하는 단어의 약자입니다. 더보기 E = Element K = Key N = Number T = Type V = Value 자료형 일반 open class Parent..