[백준] 2578번: 빙고 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 풀이 사회자가 부른 숫자를 하나씩 입력 받을 때마다 빙고 확인을 수행한다. 빙고 확인은 가로, 세로, 대각선을 모두 고려해야 하고, for문을 이용해 세어주면 된다. 코드 fun main() { val br = System.`in`.bufferedReader() val bw = System.out.bufferedWriter() val map = Array(5) { br.readLine().split(' ').map { it.toInt() } } val visited = ..
[백준] 1072번: 게임 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 1072번: 게임 김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시 www.acmicpc.net 풀이 이분 탐색을 이용해 필요한 경기 수를 구할 수 있다. 이분 탐색은 주어진 범위에서 중간 값을 선택하고, 그 값이 원하는 조건을 만족하는지에 따라 탐색 범위를 좁혀가는 방식이다. 이 문제에서는 승률을 계산하여 승률이 언제 변하는지 확인하고, 그에 따라 탐색 범위를 조절하면 된다. 승률 계산에서 소수점은 버려야하기때문에 승률은 floor(100*win/match) 으로 계산한다. 이분 탐색은 입력받은 경기 수까지의 범위에서 실행하면 된다. 코드 i..
[백준] 1213번: 팰린드롬 만들기 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제
[백준] 2669번: 직사각형 네개의 합집합의 면적 구하기 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 2669번: 직사각형 네개의 합집합의 면적 구하기 평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으 www.acmicpc.net 풀이 문제에서 주어진 100 x 100 크기의 영역에 대한 Boolean 배열을 생성한다. 입력받은 좌표에 해당하는 사각형 영역을 true로 배열에 저장해준다. 그리고나서 배열에서 true의 부분의 개수를 세어 면적을 구할 수 있다. 코드 import java.util.* fun main() { val br = System.`in`.bufferedReader() val bw = System.out.bufferedWriter() val..
[백준] 2161번: 카드1 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 Queue를 활용해 풀이하면 된다. 먼저 1 ~ num 까지 Queue에 담는다. 이후 while문을 통해 한 장은 버리면서 출력하고 한 장은 뒤로 이동시킨다. 버릴 카드가 없거나 맨 뒤로 이동시킬 카드가 없다면 while문을 종료한다. 코드 import java.util.* fun main() { val br = System.`in`.bufferedReader() val bw = System.out.bufferedWriter() val num = b..