[문제]
https://www.acmicpc.net/problem/11328
[코드]
import java.io.*
import java.util.*
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val n = StringTokenizer(br.readLine()).nextToken().toInt()
for(i in 0 until n) {
val st1 = StringTokenizer(br.readLine())
val a = st1.nextToken()
val b = st1.nextToken()
bw.write(strfry(a,b)+"\n")
}
bw.flush()
bw.close()
}
fun strfry(a : String, b : String) : String {
val arr1 = Array('z'-'a'+1){0}
val arr2 = Array('z'-'a'+1){0}
for(i in a){
arr1[i-'a'] += 1
}
for(i in b){
arr2[i-'a'] += 1
}
for(i in 0 until ('z'-'a'+1)){
if(arr1[i] != arr2[i]) return "Impossible"
}
return "Possible"
}
[풀이]
두 문자열을 비교하여 한 문자열의 문자들로 다른 한 문자열을 만들 수 있는지 판단하는 문제이다.
간단한 방법은 각 문자열의 문자들을 각 알파벳 배열에 담아 두 알파벳 배열을 순회하여
같은지 아닌지를 통해 답을 구할 수 있다.
순회하지 않더라도 contentEquals 함수를 이용해서도 두 배열이 같은지 구할 수 있다.
Github : https://github.com/eshc123/2021AlgorithmStudy/blob/main/src/main/PS/baekjoon/11328.kt
'Algorithm and PS > 백준(Kotlin)' 카테고리의 다른 글
백준 - 1475 방 번호 (코틀린) (0) | 2021.05.19 |
---|---|
백준 - 13300 방 배정 (코틀린) (0) | 2021.05.15 |
백준 - 2577 숫자의 개수 (코틀린) (0) | 2021.05.11 |
백준 - 2309 일곱 난쟁이 (코틀린) (0) | 2021.05.10 |
백준 - 2562 최댓값 (코틀린) (0) | 2021.05.10 |
댓글