MUKER_DEV with iOS
[swift] 백준 - 2578번: 빙고 본문
2578번: 빙고
첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로
www.acmicpc.net
성공 풀이
var hor = [[Int]](), ver = [[Int]]()
// 가로줄 배열 만들기
for _ in 0..<5 { hor.append(readLine()!.split(separator: " ").map { Int($0)! }) }
// 새로줄 배열 만들기
for i in 0..<5 {
var arr = [Int]()
for j in 0..<5 { arr.append(hor[j][i]) }
ver.append(arr)
}
// 대각선 줄 만들기
ver.append((0..<5).map { hor[$0][$0] })
ver.append((0..<5).map { hor[$0][4-$0] })
// 모든 줄 합치기
var total = hor+ver, count = 1
loop: for _ in 0..<5 {
let nums = readLine()!.split(separator: " ").map { Int($0)! }
for num in nums {
// total을 모두 검색하며 [0,0,0,0,0]이 3개 나왔을 때 3빙고가 되기 때문에 break
for i in 0..<total.count { total[i] = total[i].map { $0==num ? 0 : $0 } }
if total.filter({ $0==[0,0,0,0,0] }).count >= 3 {
print(count)
break loop
}
count += 1
}
}
'🤖 알고리즘 > BAEKJOON' 카테고리의 다른 글
[swift] 백준 - 2445번: 별 찍기 - 8 (0) | 2023.06.11 |
---|---|
[swift] 백준 - 1934번: 최소공배수 (0) | 2023.06.10 |
[swift] 프로그래머스 - 정수를 나선형으로 배치하기 (0) | 2023.06.08 |
[swift] 백준 - 2504번: 괄호의 값 (0) | 2023.06.06 |
[swift] 백준 - 17413번: 단어 뒤집기 2 (0) | 2023.06.05 |