๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป iOSun
article thumbnail
[๋ฐฑ์ค€ 1743] swift ์Œ์‹๋ฌผ ํ”ผํ•˜๊ธฐ: DFS

๋ฌธ์ œ ์„ค๋ช… 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 ํ•ด์ฃผ์—ˆ๋‹ค...

article thumbnail
[๋ฐฑ์ค€ 1654] swift ๋žœ์„  ์ž๋ฅด๊ธฐ

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ ํ’€์ด ์ฒ˜์Œ ์ ‘๊ทผ๋ฒ•์€ ๊ธธ์ด๊ฐ€ 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..

article thumbnail
[๋ฐฑ์ค€ 9935] swift ๋ฌธ์ž์—ด ํญ๋ฐœ

๋ฌธ์ œ ์„ค๋ช… ์‰ฝ๊ฒŒ ๋งํ•ด ํญํƒ„์ด ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์ง€์›Œ์ฃผ๋ฉด ๋œ๋‹ค. ๋˜ ์ง€์šฐ๊ณ  ํ•ฉ์นœ ์ƒํƒœ์—์„œ ํญํƒ„์ด ์žˆ์œผ๋ฉด ๋˜ ์ง€์›Œ์ฃผ๊ณ  ๋ฐ˜๋ณต ํ’€์ด ์ด์ „์— ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ฐ”๋กœ ํ’€์ด๋ฒ•์„ ์ƒ๊ฐํ•ด ๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. (ํ–„๋ฒ„๊ฑฐ๋งŒ๋“ค๊ธฐ) 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[..

profile on loading

Loading...