문제 출처 : https://www.acmicpc.net/problem/28445
언어 : Kotlin
문제 설명 :
재현이가 키우는 앵무새 포포와 레몬이는 그동안 새끼들을 참 많이도 낳았다. 그렇게 태어난 앵무새들을 관찰하며 재현이는 앵무새들의 색에 간단한 규칙이 있다는 것을 발견했다. 그것은 바로 자식 앵무새의 몸통 색은 아빠 새의 몸통 색과 꼬리 색, 엄마 새의 몸통 색과 꼬리 색 중 하나이며 꼬리 색도 마찬가지로 이 넷 중 하나의 색으로 정해진다는 것이다.
아빠 새의 몸통 색과 꼬리 색, 엄마 새의 몸통 색과 꼬리 색이 주어질 때 가능한 자식 앵무새의 몸통 색과 꼬리색의 모든 쌍을 사전 순으로 출력하라. (단, 중복되는 몸통 색, 꼬리 색의 쌍은 출력하지 않는다.)
입력 :
첫 번째 줄에 아빠 새의 몸통 색과 꼬리 색이 주어진다.
두 번째 줄에 엄마 새의 몸통 색과 꼬리 색이 주어진다.
각각의 색은 1자 이상 20자 이내의 알파벳 소문자로 이루어진 문자열로 주어지며, 같은 색이 중복되어 나타날 수 있다.
출력 :
자식 새의 몸통 색과 꼬리 색의 쌍을 한 줄에 하나씩 사전 순으로 출력한다. 사전 순으로 출력하라는 말은 몸통 색이 다르다면 몸통 색의 사전 순으로, 몸통 색이 같다면 꼬리 색의 사전 순으로 출력하라는 것을 의미한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
blue purple green green |
blue blue blue green blue purple green blue green green green purple purple blue purple green purple purple |
white blue yellow purple |
blue blue blue purple blue white blue yellow purple blue purple purple purple white purple yellow white blue white purple white white white yellow yellow blue yellow purple yellow white yellow yellow |
풀이 :
쉬운 문젠데 너무 어렵게 생각해서 푸는데 시간이 좀 걸렸다.
부모 색을 따로 변수로 입력받고, 색상만 중복없이 모은 set과 중첩반복문을 통해 전부 순회하며 색조합을 담았다.
이후 문제에서 주어진대로 정렬시키면 끝
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))
val (aBody, aTail) = readLine().split(" ")
val (bBody, bTail) = readLine().split(" ")
val colors = setOf(aBody, aTail, bBody, bTail)
val combinations = mutableSetOf<Pair<String, String>>()
for (body in colors) {
for (tail in colors) {
combinations.add(Pair(body, tail))
}
}
combinations.sortedWith(compareBy ({ it.first }, { it.second })).forEach {
bw.write("${it.first} ${it.second}\n")
}
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
24196번: Gömda ord (0) | 2024.07.22 |
---|---|
31458번: !!초콜릿 중독 주의!! (0) | 2024.07.19 |
10453번: 문자열 변환 (0) | 2024.07.18 |
5534번: 간판 (0) | 2024.07.18 |
14561번: 회문 (0) | 2024.07.17 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!