백준
-
https://www.acmicpc.net/problem/2583 import Foundation func solution() { let inputs = readLine()! .components(separatedBy: " ") .compactMap { Int($0) } let N = inputs[1] let M = inputs[0] let K = inputs[2] var visited: [[Bool]] = Array(repeating: Array(repeating: false, count: M), count: N) var result: [Int] = [] for _ in 1...K { let inputs = readLine()! .components(separatedBy: " ") .compactMap..
[Swift] 2583번 : 영역 구하기https://www.acmicpc.net/problem/2583 import Foundation func solution() { let inputs = readLine()! .components(separatedBy: " ") .compactMap { Int($0) } let N = inputs[1] let M = inputs[0] let K = inputs[2] var visited: [[Bool]] = Array(repeating: Array(repeating: false, count: M), count: N) var result: [Int] = [] for _ in 1...K { let inputs = readLine()! .components(separatedBy: " ") .compactMap..
2024.03.18 -
https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net import Foundation typealias Position = (x: Int, y: Int) func +(lhs: Position, rhs: Position) -> Position { Position(lhs.x + rhs.x, lhs.y + rhs.y) } func solution() { let repetition = Int(readLine()!)! for _ in 1...repetition..
[Swift] 7672번 : 나이트의 이동https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net import Foundation typealias Position = (x: Int, y: Int) func +(lhs: Position, rhs: Position) -> Position { Position(lhs.x + rhs.x, lhs.y + rhs.y) } func solution() { let repetition = Int(readLine()!)! for _ in 1...repetition..
2024.03.18 -
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net import Foundation var testCaseCount = Int(readLine()!)! for _ in 1...testCaseCount { solution() } func solution() { let inputs = readLine()! .components(separatedBy: " ") .compactMap { Int($0) } let N = inputs[0] let M = inputs[1]..
[Swift] 1012번 : 유기농 배추https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net import Foundation var testCaseCount = Int(readLine()!)! for _ in 1...testCaseCount { solution() } func solution() { let inputs = readLine()! .components(separatedBy: " ") .compactMap { Int($0) } let N = inputs[0] let M = inputs[1]..
2024.03.18 -
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net import Foundation var demessions = readLine()! .split(separator: " ") .compactMap { Int($0) } let NotVisited = -1 let start = demessions.first! let end = demessions.last! var array = Array(repeating: NotVisit..
[Swift] 1697번 : 숨바꼭질https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net import Foundation var demessions = readLine()! .split(separator: " ") .compactMap { Int($0) } let NotVisited = -1 let start = demessions.first! let end = demessions.last! var array = Array(repeating: NotVisit..
2024.03.18 -
import Foundation var inputs = readLine()!.components(separatedBy: " ").compactMap { Int($0) } let n = inputs.first! let m = inputs.last! var boards: [[Bool]] = [] for _ in 0.. Int { let dx = [1, 0, -1, 0] let dy = [0, 1, 0, -1] var queue: [(Int, Int)] = [] var dist = Array(repeating: Array(repeating: -1, count: col), count: row) dist[0][0] = 1 queue.append((0,0)) while !queue.isEmpty { let (x, ..
[Swift] 2178번 : 미로탐색import Foundation var inputs = readLine()!.components(separatedBy: " ").compactMap { Int($0) } let n = inputs.first! let m = inputs.last! var boards: [[Bool]] = [] for _ in 0.. Int { let dx = [1, 0, -1, 0] let dy = [0, 1, 0, -1] var queue: [(Int, Int)] = [] var dist = Array(repeating: Array(repeating: -1, count: col), count: row) dist[0][0] = 1 queue.append((0,0)) while !queue.isEmpty { let (x, ..
2024.02.05 -
import Foundation var inputs = readLine()!.components(separatedBy: " ").compactMap { Int($0) } let row = inputs.first! let col = inputs.last! let dx = [1, 0, -1, 0] let dy = [0, 1, 0, -1] var mx = 0 var num = 0 var boards: [[Bool]] = [] for _ in 0..
[Swift] 1926번 : 그림import Foundation var inputs = readLine()!.components(separatedBy: " ").compactMap { Int($0) } let row = inputs.first! let col = inputs.last! let dx = [1, 0, -1, 0] let dy = [0, 1, 0, -1] var mx = 0 var num = 0 var boards: [[Bool]] = [] for _ in 0..
2024.02.05 -
for문으로 풀면 시간초과가 걸려서 stack으로 풀었습니다. 문제에선 오른쪽에서 왼쪽으로 진행되어서 입력받는 역순으로 풀었었는데 반대로 생각해보면 입력받았을 때 왼쪽에 수신을 받는 친구가 없다면 입력받은 탑이 현재 가장 높은 탑이되어버리니 다음 입력에서는 현재 입력받은 탑을 기준으로 왼쪽에 있는 탑들은 필요가 없어지는 것입니다 import Foundation let n = Int(readLine()!)! let arr = readLine()!.components(separatedBy: " ").compactMap { Int($0) } var stack: [(height: Int, index: Int)] = [(100000001, 0)] for index in 0..
[Swift] 2493번 : 탑for문으로 풀면 시간초과가 걸려서 stack으로 풀었습니다. 문제에선 오른쪽에서 왼쪽으로 진행되어서 입력받는 역순으로 풀었었는데 반대로 생각해보면 입력받았을 때 왼쪽에 수신을 받는 친구가 없다면 입력받은 탑이 현재 가장 높은 탑이되어버리니 다음 입력에서는 현재 입력받은 탑을 기준으로 왼쪽에 있는 탑들은 필요가 없어지는 것입니다 import Foundation let n = Int(readLine()!)! let arr = readLine()!.components(separatedBy: " ").compactMap { Int($0) } var stack: [(height: Int, index: Int)] = [(100000001, 0)] for index in 0..
2024.01.12 -
import Foundation let k = Int(readLine()!)! var stack: [Int] = [] for _ in 0..
[Swift] 10773번 : 제로import Foundation let k = Int(readLine()!)! var stack: [Int] = [] for _ in 0..
2024.01.12