31628번: 가지 한 두름 주세요백준/문제2024. 6. 25. 13:33
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/31628
언어 : Kotlin
문제 설명 :
10 X 10 격자의 각 칸에 가지가 한 개씩 들어 있습니다. 키위새는 가로로 연속한 10개의 칸 혹은 세로로 연속한 10개의 칸에 들어 있는 모든 가지를 단 한 번 줄줄이 연결할 수 있습니다. 가지 한 두름은 같은 색의 가지를 정확히 10개 연결한 것입니다. 각 칸에 들어 있는 가지의 색이 주어질 때, 키위새가 가지 한 두름을 만들 수 있는지 판단해 봅시다.
입력 :
첫 번째 줄부터 10개 줄 각각에 각 행에 들어 있는 가지 10개의 색을 나타내는 문자열이 공백으로 구분되어 주어집니다. 그중 r번째 줄의 c번째 문자열은 r행 c열에 위치한 가지의 색을 나타냅니다. 가지의 색은 영어 소문자로만 이루어진 길이 1 이상 8 이하의 문자열입니다.
출력 :
키위새가 가지 한 두름을 만들 수 있으면 1을, 만들 수 없으면 0을 출력합니다.
제한 사항 :
- 시간 제한 : 0.25초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
r r r r r r r r r r g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b g b |
1 |
r b g b g b g b g b r g b g b g b g b g r b g b g b g b g b r g b g b g b g b g r b g b g b g b g b r g b g b g b g b g r b g b g b g b g b r g b g b g b g b g r b g b g b g b g b r g b g b g b g b g |
1 |
chipi chapa chipi chapa chipi chapa chipi chapa chipi chapa chapa chipi chapa chipi chapa chipi chapa chipi chapa chipi chipi chapa chipi chapa chipi chapa chipi chapa chipi chapa chapa chipi chapa chipi chapa chipi chapa chipi chapa chipi chipi chapa chipi chapa chipi chapa chipi chapa chipi chapa chapa chipi chapa chipi chapa chipi chapa chipi chapa chipi chipi chapa chipi chapa chipi chapa chipi chapa chipi chapa chapa chipi chapa chipi chapa chipi chapa chipi chapa chipi chipi chapa chipi chapa chipi chapa chipi chapa chipi chapa chapa chipi chapa chipi chapa chipi chapa chipi chapa chipi |
0 |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
var cnt = 0
val map = Array(10) { readLine().split(" ") }
// row
for (i in map.indices) {
if (map[i].groupingBy { it }.eachCount().size == 1) {
cnt = 1
break
}
}
if (cnt == 0) {
// column
for (i in map[0].indices) {
val temp = mutableListOf<String>()
for (j in map.indices) {
temp += map[j][i]
}
if (temp.groupingBy { it }.eachCount().size == 1) {
cnt = 1
break
}
}
}
bw.write("$cnt")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
10256번: 돌연변이 (0) | 2024.06.26 |
---|---|
9519번: 졸려 (0) | 2024.06.26 |
15725번: 다항함수의 미분 (0) | 2024.06.25 |
17838번: 커맨드 (0) | 2024.06.25 |
7432번: 디스크 트리 (0) | 2024.06.24 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!