no image
[Kotlin] BOJ1063 킹
링크 : https://www.acmicpc.net/problem/1063 1063번: 킹 8*8크기의 체스판에 왕이 하나 있다. 킹의 현재 위치가 주어진다. 체스판에서 말의 위치는 다음과 같이 주어진다. 알파벳 하나와 숫자 하나로 이루어져 있는데, 알파벳은 열을 상징하고, 숫자는 www.acmicpc.net 소스코드(Implement) import java.io.BufferedReader import java.io.FileInputStream import java.io.InputStreamReader private lateinit var kingPoint :Point private lateinit var stonePoint :Point private var N = 0 // N은 50보다 작거나 같은 자..
2023.03.06
no image
[Kotlin] BOJ14719 빗물
링크 : https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 소스코드(Implement) import java.io.BufferedReader import java.io.FileInputStream import java.io.InputStreamReader import kotlin.math.abs //(1 ≤ H, W ≤ 500) private var H = 0 //세로 private var W = 0 //가로 private va..
2023.02.27
no image
[Kotlin] BOJ1553 도미노 찾기
링크 : https://www.acmicpc.net/problem/1553 1553번: 도미노 찾기 도미노의 크기는 1×2이고, 크기가 1×1인 칸으로 나누어져 있다. 칸은 수를 나타내며, 위와 같이 총 28가지가 있다. 크기가 8×7인 격자가 있고, 격자의 각 칸에는 정수가 하나씩 들어있다. 위의 도 www.acmicpc.net 소스코드(BackTracking) import java.io.BufferedReader import java.io.FileInputStream import java.io.InputStreamReader private var count = 0 private val MY = arrayOf(0,1)//우 상 private val MX = arrayOf(1,0)//우 상 private..
2023.02.25
no image
[Kotlin] BOJ11562 백양로 브레이크
링크 : https://www.acmicpc.net/problem/11562 11562번: 백양로 브레이크 서울 소재 Y모 대학교에서 대규모 공사를 진행하면서, 학교가 마치 미로처럼 변해버리고 말았다. 공사 이전까지는 어떤 건물에서 출발하더라도 다른 모든 건물로 갈 수 있는 길이 있었으나, 공 www.acmicpc.net 소스코드(Floyd Warshall) import java.io.* private var N = 0 //건물의 수 (n ≤ 250) private var M = 0 //길의 수 (m ≤ n * (n - 1) / 2 ) private var K = 0 //질문 수 (1 ≤ k ≤ 30,000) private val bw = BufferedWriter(OutputStreamWriter(Sy..
2023.02.15
no image
[Kotlin] BOJ2665 미로만들기
링크 : https://www.acmicpc.net/problem/2665 2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1 ≤ n ≤ 50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net 알고스팟 문제와 상당히 유사한 (거의 빼다박은 수준) 문제 ( 알고스팟 링크 : https://www.acmicpc.net/problem/1261 ) 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 ..
2023.02.03
no image
[Kotlin] BOJ5972 택배 배송
링크 :https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 소스코드(Dijkstra) import java.io.BufferedReader import java.io.FileInputStream import java.io.InputStreamReader import java.util.PriorityQueue import java.util.StringTokenizer private var N = 0 //헛간의 개수 (1
2023.02.01
no image
[Kotlin] BOJ1261 알고스팟
링크 :https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 문제에서 주어진 배열에서 벽은 거리가 1인 노드, 벽이 없는 빈 방은 거리가 0인 노드라고 계산해서 시작점에서 마지막 노드까지 다익스트라를 돌려 최단거리를 구하는 방식의 풀이로 문제를 해결했다. 소스코드 (Dijkstra) import java.io.BufferedReader import java.io.FileInputStream import java.io.InputS..
2023.01.31
no image
[Kotlin] BOJ1238 파티
링크 :https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net ◆ 이번 문제에서 오답포인트 문제를 풀 때 X마을에 사는 친구의 X마을까지의 최단거리는 0인데, 다익스트라 함수에 X를 놓고 돌려버려서 오답이 나왔었다. (X마을에서 굳이 다른 마을까지 가서 X마을까지 도달하는 최단거리를 갱신하고 있었던 것) 해당 문제에 33퍼에서 오답이 나오시는 분들은 이 내용을 참고해서 디버깅해보시길 바랍니다. ◆ 추가로 깨달은 점 A노드..
2023.01.30
no image
[Kotlin] BOJ10473 인간 대포
링크 : https://www.acmicpc.net/problem/10473 10473번: 인간 대포 입력은 한 개의 길찾기 문제를 표현한다. 첫 줄에는 두 개의 실수가 입력되며 각각은 당신이 현재 위치한 X, Y좌표이다. 두 번째 줄에는 목적지의 X, Y좌표가 실수로 입력된다. 이어지는 줄에는 대 www.acmicpc.net 소스코드(Dijkstra) import java.io.BufferedReader import java.io.FileInputStream import java.io.InputStreamReader import java.util.PriorityQueue import kotlin.math.min private const val HUMAN_SPEED = 5 private lateinit ..
2023.01.27