[백준] 2503번: 숫자 야구 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 풀이 숫자야구는 일반적으로 세 자리나 네 자리의 숫자를 임의로 설정하여 상대방의 숫자를 맞추는 게임이다. 숫자를 맞추기 위해서는 서로에게 상대방의 숫자를 불러 결과를 확인한다. 결과는 숫자와 위치가 일치하면 스트라이크, 숫자는 맞지만 위치가 다르다면 볼로 판정하고 상대방에게 알려준다. 예를 들어 임의의 수가 456 이고 확인하는 수가 469 인 경우 1스트라이크 1볼이라고 상대방에게 알려준다. 만약 숫자가 하나도 맞지않는다면 아웃으로 처리하고, 3아웃이면 ..
[백준] 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..
[백준] 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..
[백준] 1065번: 한수 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 풀이 한수는 각 자리수가 등차수열이 만들어지는 숫자다. 예를 들어 123은 자리수가 1 씩 증가하는 등차수열이므로 한수이다. 입력된 숫자 N이 100 미만이라면 모두 한수이므로 출력할 cnt는 N이다. 입력된 숫자 N이 100 이상인 경우에는 백의 자리: i/100, 십의 자리 : (i/10)%10, 일의 자리 i%10를 비교한다. 각 자리수를 비교하여 차이가 같다면 한수이므로 cnt를 1 증가시켜준다. 코드 fun main() { val br = System..