[백준] 3085번: 사탕 게임 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 풀이 for문을 통해 입력받은 배열을 탐색하며 각 위치에서 현재 색상을 기준으로 아래쪽이나 오른쪽을 바꾸어 가며 확인해주면 된다. 연속된 동일한 색을 찾는 함수에서는 가로 방향과 세로 방향으로 색을 확인해 준다, 코드 import kotlin.math.* fun main() { val br = System.`in`.bufferedReader() val bw = System.out.bufferedWriter() // 오른쪽, 아래로 이동하는 배열 val dx = arrayOf(1, 0) val dy = arrayOf(0, 1) val num = br.readLine().toI..
[백준] 1018번: 체스판 다시 칠하기 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 풀이 8 X 8 크기의 확인용 배열을 활용하여 입력받은 체스판 배열에서 최소값을 찾아내면 된다. 최소값을 찾는 방법은 for문을 통해 해당 배열의 각 칸을 확인하고, 해당 칸이 홀수 자리에 있는지 짝수 자리에 있는지 확인한다. 그리고 그 칸이 'B'인지 'W'인지를 판별하여 자리에 맞지 않는 색일 경우 값을 증가해주면 된다. 코드 import java.util.* import kotlin.math.* fun main() { val br = Syste..
[백준] 1193번: 분수찾기 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 풀이 지그재그 순서의 분수를 차례대로 나열하고 열 별로 살펴보면 규칙성을 찾을 수 있다. 1열: 1/1 2열: 1/2 2/1 3열: 3/1 2/2 1/3 4열: 1/4 2/3 3/2 4/1 5열: 5/1 4/2 3/3 2/4 1/5 1열의 분모 + 분자 = 2, 2열의 분모 + 분자 = 3인 것처럼 각 열마다 분자와 분모를 더하면 열의 값 + 1이 된다. 이 규칙을 활용해 입력받은 숫자가 몇 번째 열에 속하는지 계산할 수 있다. 분모와 분자를 더한 값을 나타내는 sum 변수와 분수의 순번을 나타내는 tmp변수를 선언한다. while문을 통해 tmp가 입력받은 num보다 작을 때까지 tmp..
[백준] 2438 ~ 2446번: 별 찍기 - 1 ~ 9 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 2440번: 별 찍기 - 3 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 www.acmicpc.net 2441번: 별 찍기 - 4 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.n..
[백준] 7568번: 덩치 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 풀이 입력 받은 정보를 저장하는 배열과 순위를 저장하는 배열을 만들고, 입력받은 정보를 다른 정보와 비교해 키와 몸무게가 모두 크다면 순위를 저장하는 배열에 +1 을 해주어 해결하였다. 코드 fun main() { val br = System.`in`.bufferedReader() val bw = System.out.bufferedWriter() val num = br.readLine().toInt() val arr = Array(num){ I..