세상을 더 편리하게
article thumbnail
[BOJ / 10217] KCM Travel 파이썬
알고리즘/BOJ 2021. 8. 20. 17:06

문제 링크 https://www.acmicpc.net/problem/10217 10217번: KCM Travel 각고의 노력 끝에 찬민이는 2014 Google Code Jam World Finals에 진출하게 되었다. 구글에서 온 초대장을 받고 기뻐했던 것도 잠시, 찬찬히 읽어보던 찬민이는 중요한 사실을 알아차렸다. 최근의 대세 www.acmicpc.net 문제 해결 알고리즘 DP, 다익스트라 기존 문제와 다른 점 백준의 최단거리 알고리즘을 차례대로 풀었다면, 이 문제는 다른 시각으로 접근해야 한다. 기존 알고리즘에서 2차 배열을 푸는 문제는 다음과 같이 X, Y축을 다음과 같이 했었다. 도착점 시 작 점 / / / / / / 시작점으로 도착점으로 가는 경유로 정사각형의 배열을 사용했을 것이다. 하지만..

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
[BOJ 1316/Kotlin] 그룹단어 체커
알고리즘/BOJ 2020. 10. 8. 16:33

https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때� www.acmicpc.net My Code fun main() { var n = readLine()!!.toInt() var str: String var c: Int var count = n var ch : Char var alp = MutableList(26) { false } repeat(n) { str = readLine()!! c = 0 alp.replaceAll { false } w..

[BOJ/5622번] 전화 다이얼
알고리즘/BOJ 2020. 10. 4. 12:43

https://www.acmicpc.net/source/22909711 로그인 www.acmicpc.net fun main() { val str = readLine()!! val arr = MutableList(10) { 0 } for (elements in str) { when (elements) { in 'A'..'C', in 'a'..'c' -> arr[2]++ in 'D'..'F', in 'd'..'f' -> arr[3]++ in 'G'..'I', in 'g'..'i' -> arr[4]++ in 'J'..'L', in 'j'..'l' -> arr[5]++ in 'M'..'O', in 'm'..'o' -> arr[6]++ in 'P'..'S', in 'p'..'s' -> arr[7]++ in 'T'..