티스토리 뷰
문제
https://www.acmicpc.net/problem/14713
풀이
당연하게 cseteram이 모든 말을 다 받아적었을거라고 생각해서 오래걸렸다.
cseteram이 받아적은 단어들을 큐에 넣고 앵무새들이 말한 문장의 맨 앞 단어와 비교해서 맞을때마다 하나씩 지워주었다. 반복문이 끝나고 앵무새 문장의 배열들과 cseteram이 모두 비어있는 경우에만 Possible을 출력하도록 하였다.
import Foundation
let n = Int(readLine()!)!
var str: [[String]] = []
for _ in 0..<n {
str.append(readLine()!.split(separator: " ").map { String($0) })
}
var cseteram = readLine()!.split(separator: " ").map { String($0) }
outer: while !cseteram.isEmpty {
for i in 0..<n {
if !str[i].isEmpty && str[i][0] == cseteram[0] {
cseteram.removeFirst()
str[i].removeFirst()
continue outer
}
}
break
}
if cseteram.isEmpty {
var check = true
for i in 0..<n {
if !str[i].isEmpty {
check = false
break
}
}
check ? print("Possible") : print("Impossible")
} else {
print("Impossible")
}
_____________________________________________________________________________________________________
조건에 어긋나지않은 모든 경우를 생각하자
'PS' 카테고리의 다른 글
[Swift] 백준_오아시스 재결합 (0) | 2023.01.07 |
---|---|
[Swift] 백준_트럭(13335) (0) | 2023.01.06 |
[Swift] 백준_프린터 큐(1966) (0) | 2023.01.06 |
[Swift] 백준_문자열 폭발(9935) (0) | 2023.01.05 |
[Swift] 백준_옥상정원 꾸미기(6198) (0) | 2023.01.05 |
댓글
최근에 올라온 글
- Total
- Today
- Yesterday