๋ฌธ์ ์ค๋ช https://www.acmicpc.net/problem/1743 1743๋ฒ: ์์๋ฌผ ํผํ๊ธฐ ์ฒซ์งธ ์ค์ ํต๋ก์ ์ธ๋ก ๊ธธ์ด N(1 ≤ N ≤ 100)๊ณผ ๊ฐ๋ก ๊ธธ์ด M(1 ≤ M ≤ 100) ๊ทธ๋ฆฌ๊ณ ์์๋ฌผ ์ฐ๋ ๊ธฐ์ ๊ฐ์ K(1 ≤ K ≤ N×M)์ด ์ฃผ์ด์ง๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ K๊ฐ์ ์ค์ ์์๋ฌผ์ด ๋จ์ด์ง ์ขํ (r, c)๊ฐ ์ฃผ์ด์ง๋ค www.acmicpc.net ๊ฐ๋จํ๊ฒ ์ํ์ข์ฐ๋ก ์์ง์ผ ์ ์๊ณ ๊ทธ ์ฐ๋ ๊ธฐ์ ํฌ๊ธฐ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ํ์ด DFS๋ก ํ์ด๋ดค๋ค. 2์ฐจ์๋ฐฐ์ด๋ก map๊ณผ visited ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ฐ๋ ๊ธฐ๋ฉด 1, ์๋๋ฉด 0์ผ๋ก ํ์ํ๋ค. 1000 0110 1100 ์์ ์์ ์์ ์ด๋ ๊ฒ.. ๊ทธ๋ฆฌ๊ณ for๋ฌธ์ ๋๋ฉด์ ์ฐ๋ ๊ธฐ์ด๊ณ ๋ฐฉ๋ฌธํ์ง ์์ ๊ฒฝ์ฐ์ DFS๋ฅผ ๋๋ ค์ฃผ๋ฉฐ count๋ฅผ +1 ํด์ฃผ์๋ค...
๋ฌธ์ ์ค๋ช ๋ฌธ์ ํ์ด ์ฒ์ ์ ๊ทผ๋ฒ์ ๊ธธ์ด๊ฐ 100์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ n๊ฐ ์ด์์ ๋์ ์ด ๋์ค๋์ง ์ฒดํฌ, 100 -> 200 -> 300 ๋๋ ค๊ฐ๋ฉฐ ์๊ฐํ๋ค ์ด์งํ์์ ๋ ์ฌ๋ฆฌ๊ฒ ๋์๋ค. (์์ ํ์๋ณด๋ค ์๋๊ฐ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์) left๋ 1, right๋ ๊ฐ์ง๋์ ์ ์ต๋๊ธธ์ด๋ก ๋์๋ค. ๊ธฐ๋ณธ์ ์ธ ์ด์งํ์ ํ์ด๋ก ๋ฌธ์ ํด๊ฒฐ! ์ฝ๋ import Foundation let input = readLine()!.split(separator: " ").map {Int(String($0))!} let k = input[0], n = input[1] var arrs = [Int]() for _ in 0..
๋ฌธ์ ์ค๋ช ์ฝ๊ฒ ๋งํด ํญํ์ด ์๋ ๋ฌธ์๋ฅผ ์ง์์ฃผ๋ฉด ๋๋ค. ๋ ์ง์ฐ๊ณ ํฉ์น ์ํ์์ ํญํ์ด ์์ผ๋ฉด ๋ ์ง์์ฃผ๊ณ ๋ฐ๋ณต ํ์ด ์ด์ ์ ํ๋ก๊ทธ๋๋จธ์ค์์ ๋น์ทํ ๋ฌธ์ ๋ฅผ ํ์ด ๋ฐ๋ก ํ์ด๋ฒ์ ์๊ฐํด ๋ผ ์ ์์๋ค. (ํ๋ฒ๊ฑฐ๋ง๋ค๊ธฐ) 1. stack์ ๋ฌธ์์ด ํ๋์ฉ ๋ฃ์ด์ค๋ค. 2. ๊ทธ๋๋ง๋ค stack์ ํญํ์ด๋ ๋๊ฐ์ ๋ฌธ์์ด์ด ์๋์ง ์ฒดํฌํ๊ณ ์๋ค๋ฉด ํญํ์๋งํผ pop ํด์ฃผ๋ฉด ๋๋ค. ์ฝ๋ let targetString = readLine()!.map { String($0) } let bomb = readLine()!.map { String($0) } var stack = [String]() for i in 0..= bomb.count // ์คํ์ ๊ฐ์๊ฐ ํญํ์ ๊ฐ์๋ณด๋ค ๋ง์์ง (์ธ๋ฑ์ค ์๋ฌ๋์ง ์๊ฒ ์ฒดํฌ) && stack[..