Swift Data Structure And Algorithm 148

Swift Data Structure And Algorithm ์ •๋ฆฌ

https://github.com/YoungJaeLee-github/Swift-DataStructure-And-Algorithm GitHub - YoungJaeLee-github/Swift-DataStructure-And-Algorithm: Swift Algorithm Study Swift Algorithm Study. Contribute to YoungJaeLee-github/Swift-DataStructure-And-Algorithm development by creating an account on GitHub. github.com ์‹ ์ž… iOS Engineer๋ฅผ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ • ์ค‘ Coding Interview๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ Swift Language ๊ด€์ ์—์„œ Data Structure์™€ Algorit..

ํšŒ์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ d๊ฐ€ 1์ธ ๊ฒฝ์šฐ, ์ •๋ฐฉํ–ฅ d๊ฐ€ 2์ธ ๊ฒฝ์šฐ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐฐ์—ด์˜ ์›์†Œ์— ๋Œ€ํ•ด ์œ„์น˜(index)๋ฅผ ํšŒ์ „ํ•ด์•ผ ํ•จ ์—ฌ๊ธฐ์„œ x์˜ ์œ„์น˜๋ฅผ 0๋ฒˆ ์ธ๋ฑ์Šค์—์„œ ์‹œ์ž‘ํ•ด์„œ ๊ณ„์†ํ•ด์„œ ํšŒ์ „ํ•œ ๊ฒฐ๊ณผ์˜ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ทธ ๋‹ค์Œ ํšŒ์ „์„ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, x์˜ ์œ„์น˜๋ฅผ ๊ณ„์†ํ•ด์„œ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•˜๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•จ ๋˜, y์˜ ์ž…๋ ฅ ๋ฒ”์œ„๊ฐ€ 100์ดํ•˜ ์ด๋ฏ€๋กœ n์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋‹ค์‹œ y์— ํ• ๋‹นํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐ˜๋ณต๋˜๋Š” ์ฃผ๊ธฐ๋ฅผ ์—†์•จ ์ˆ˜ ์žˆ์Œ ์œ„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ์ •๋ฐฉํ–ฅ์˜ ๊ฒฝ์šฐ์—๋Š” x + y๊ฐ€ n๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์˜ ์˜ค๋ฅธ์ชฝ ๋์„ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋˜๋ฏ€๋กœ n์„ ๋‹ค์‹œ ๋นผ์ฃผ๊ณ , ์ž‘์€ ๊ฒฝ์šฐ์—๋Š” ๊ทธ ๋งŒํผ ํšŒ์ „ํ•˜๋ฉด ๋˜๊ณ , ์—ญ๋ฐฉํ–ฅ์˜ ๊ฒฝ์šฐ์—๋Š” x - y ๊ฐ€ 0๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ ์™ผ์ชฝ ๋์„ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋˜๋ฏ€๋กœ n์„ ๋”..

ํญ๋ฐœ๋ฌผ ์„ค์น˜

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ SCC ๋ฌธ์ œ๋ฅผ ์‘์šฉํ•œ ๋ฌธ์ œ๋กœ, ์ฝ”์‚ฌ๋ผ์ฃผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์—ญ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์— ๋Œ€ํ•ด์„œ DFS๋ฅผ ํ•œ๋ฒˆ ๋” ์ ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ƒ๊ฐํ•ด์•ผ ํ•จ ๊ฒฐ๋ก ์ ์œผ๋กœ, SCC์ธ ๊ทธ๋ž˜ํ”„๋“ค์€ ์–ด๋– ํ•œ ์ •์ ์„ ํ„ฐ๋œจ๋ ค๋„ ๋‹ค ํ„ฐ์ง€๊ธฐ ๋•Œ๋ฌธ์— 1๊ฐœ์˜ ์ •์ ์œผ๋กœ ๋ด๋„ ๋ฌด๋ฐฉํ•จ ๋”ฐ๋ผ์„œ SCC์ธ ๊ทธ๋ž˜ํ”„๋“ค์„ 1๊ฐœ์˜ ์ •์ ์œผ๋กœ ๋ณด๊ณ , ๋‚˜๋จธ์ง€์— ๋Œ€ํ•ด ๊ฐ€์žฅ ํšจ์œจ์ ์ด๊ฒŒ ํญ๋ฐœ๋ฌผ์„ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด ๋‚˜์—๊ฒŒ ๋“ค์–ด์˜ค๋Š” ๊ฐ„์„ ์ด ์—†๋Š” ์ •์ ์— ๋Œ€ํ•ด ํ„ฐ๋œจ๋ฆฌ๊ฒŒ ๋˜๋ฉด ๊ฐ€์žฅ ์ตœ์†Œํ•œ์˜ ๋‹ค์ด๋„ˆ๋งˆ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํญ๋ฐœ๋ฌผ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Œ ์ด๋ฅผ ์ฝ”์‚ฌ๋ผ์ฃผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‘์šฉํ•˜์—ฌ ๋น ์ ธ๋‚˜์˜ค๋Š” ์ˆœ์„œ๋ฅผ ๊ธฐ๋กํ•˜๊ณ , ์žฌ๊ท€ํ•จ์ˆ˜(DFS)์˜ ํŠน์„ฑ์ƒ ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋น ์ ธ๋‚˜์˜จ ์ •์ ์ด ๋‚˜์—๊ฒŒ ๋“ค์–ด์˜ค๋Š” ๊ฐ„์„ ์ด ์—†๋Š” ๊ฐ„์„ ์ด๋ฏ€๋กœ, ์ด๋ฒˆ์—๋Š” ์—ญ๋ฐฉํ–ฅ์ด ์•„๋‹Œ ์›..

SCC

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ™์€ ๊ทธ๋ฃน์˜ ์ •์ ์ด๋ผ๋ฉด ์„œ๋กœ ์˜ค๊ณ ๊ฐˆ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ทธ๋ฃน๋ผ๋ฆฌ ๊ทธ๋ž˜ํ”„๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ SCC(Strongly Connected Component)๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ฝ”์‚ฌ๋ผ์ฃผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋”ฐ๋ผ์„œ ์ฃผ์–ด์ง„ ๊ทธ๋ž˜ํ”„๋ฅผ ์ •๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์™€ ์—ญ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ ๋‘๊ฐ€์ง€๋กœ ๊ตฌ์„ฑํ•˜๊ณ , ์ •๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์— ๋Œ€ํ•ด DFS๋ฅผ ์ ์šฉํ•˜์—ฌ ๋น ์ ธ๋‚˜์˜ค๋Š” ์ˆœ์„œ๋Œ€๋กœ ๊ทธ ์ •์ ์˜ ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋กํ•˜๊ณ , ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋น ์ ธ๋‚˜์˜จ ์ •์ ์ด ์—ญ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์—์„œ๋Š” ๋‹จ๋ง๋…ธ๋“œ๊ฐ€ ๋˜๋ฏ€๋กœ, ์—ญ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์— ๋Œ€ํ•ด ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋น ์ ธ๋‚˜์˜จ ์ •์ ๋ถ€ํ„ฐ ๋‹ค์‹œ DFS๋ฅผ ์ ์šฉํ•˜๊ฒŒ ๋˜๋ฉด SCC๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ ๋”ฐ๋ผ์„œ O(V + E)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ 5. ์ „์ฒด ์ฝ”๋“œ //MARK..

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

1. ๋ฌธ์ œ ํŠน์ • ์ˆซ์ž๊ฐ€ ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋ณ„ํ•˜๋Š”๊ฒƒ์ด ์•„๋‹Œ, 2๋ถ€ํ„ฐ ์ฃผ์–ด์ง„ ์ˆ˜๊นŒ์ง€ ๋ฒ”์œ„ ๋‚ด์˜ ๋ชจ๋“  ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฅผ ๊ตฌํ˜„ 2. ๋ฌธ์ œ ์„ค๊ณ„ 1์ธ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ, ๋ฐฐ์—ด์— 1๋ฒˆ์งธ ์›์†Œ์—๋Š” 0์„ ์ €์žฅํ•˜๊ณ  2๋ถ€ํ„ฐ ์ฃผ์–ด์ง„ ์ˆ˜๊นŒ์ง€ ๊ฐ ์ˆ˜๋ฅผ ๋ฐฐ์—ด์— ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ์œ„์น˜์— ์›์†Œ๋ฅผ ์ €์žฅํ•จ ๊ฐ€์žฅ ์ž‘์€ ์†Œ์ˆ˜์ธ 2๋ถ€ํ„ฐ ๊ทธ์˜ ๋ฐฐ์ˆ˜๋“ค์„ ๋ฐฐ์—ด์—์„œ ๋ชจ๋‘ 0์œผ๋กœ ์ง€์›Œ๋‚˜๊ฐ€๋ฉด ์†Œ์ˆ˜๋งŒ ๋‚จ๊ฒŒ๋จ ๋”ฐ๋ผ์„œ, ์ฃผ์–ด์ง„ ์ˆ˜๊ฐ€ N์ด๋ผ๋ฉด O(N log N)์— ํŠน์ • ๋ฒ”์œ„๋‚ด์˜ ๋ชจ๋“  ์†Œ์ˆ˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ ํŠน์ • ์ˆ˜๊ฐ€ ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๋ฌธ์ œ์—์„œ๋Š” ์ œ๊ณฑ๊ทผ ๊นŒ์ง€ ๋‚˜๋ˆ„์–ด๋ณด๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด๊ณ , ํŠน์ • ๋ฒ”์œ„ ๋‚ด์˜ ๋ชจ๋“  ์†Œ์ˆ˜๋ฅผ ์ฐพ์„ ๋•Œ๋Š” ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ž„ 3. ์ „์ฒด ์ฝ”๋“œ //MARK: - ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด //MA..

Adv. ์†Œ์ˆ˜ ํŒ๋ณ„

1. ๋ฌธ์ œ ์ฃผ์–ด์ง„ ์ˆ˜๊ฐ€ ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋ณ„ํ•˜๋Š” ๋ฌธ์ œ 2. ๋ฌธ์ œ ์„ค๊ณ„ ์™„์ „ํƒ์ƒ‰์œผ๋กœ 2๋ถ€ํ„ฐ ํŠน์ • ์ˆซ์ž๊นŒ์ง€ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š”์ง€ ์ผ์ผํžˆ ํ™•์ธํ•˜๋ฉด์„œ O(N)์— ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ฐ€์žฅ ์ž‘์€ ์†Œ์ˆ˜์ธ 2๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„๋‹ค๋ฉด, ๊ทธ์˜ ์ œ๊ณฑ์ˆ˜๋กœ๋Š” ํ™•์ธํ•ด๋ณผ ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ํ˜„์žฌ ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋ณ„ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ˆซ์ž๊ฐ€ 2๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ˆ˜์˜ ์ œ๊ณฑ์ˆ˜๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์„ ๋•Œ ๊นŒ์ง€ ๊ทธ ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š”์ง€ ํ™•์ธํ•˜๊ฒŒ ๋˜๋ฉด ๋ณด๋‹ค ๋” ํšจ์œจ์ ์œผ๋กœ ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ์Œ. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด 2๋ถ€ํ„ฐ ํ˜„์žฌ ํŒ๋ณ„ํ•˜๋ ค๋Š” ์ˆ˜์˜ ์ œ๊ณฑ๊ทผ ๊นŒ์ง€ ๋‚˜๋ˆ„์–ด ๋ณด๋Š” ๊ฒƒ์ด๋ž‘ ๋™์ผํ•จ ์œ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ O(root(N))์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง 3. ์ „์ฒด ์ฝ”๋“œ //MARK: - adv. ์†Œ์ˆ˜ ํŒ๋ณ„ //MARK: - Framework import Foundation..

ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•

1. ๋ฌธ์ œ ์กฐํ•ฉ(Combination)์„ ์†์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•์„ ๊ตฌํ˜„ 2. ๋ฌธ์ œ ์„ค๊ณ„ n C 0 = 1, n C n = 1์€ n๊ฐœ ์ค‘์—์„œ 0๊ฐœ, n๊ฐœ ์ค‘์—์„œ n๊ฐœ๋ฅผ ๋ฝ‘๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜์ด๋ฏ€๋กœ 1, ์ฆ‰ 2์ฐจ์› ๋ฐฐ์—ด(ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•)์˜ (i, 0), (i, i)๋Š” ๋ชจ๋‘ 1๋กœ ์ฑ„์šธ ์ˆ˜ ์žˆ์Œ ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‚˜์˜ ์™ผ์ชฝ ์œ„ ๋Œ€๊ฐ์„  ๊ฐ’๊ณผ ๋ฐ”๋กœ ์œ„ ๊ฐ’์„ ๋”ํ•ด์คŒ์œผ๋กœ์จ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ , ์ตœ์ข…์ ์œผ๋กœ n C r์„ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” 2์ฐจ์› ๋ฐฐ์—ด(ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•)์˜ (n, r)์˜ ์›์†Œ๋ฅผ ์ถœ๋ ฅํ•จ์œผ๋กœ์จ ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์Œ 3. ์ „์ฒด ์ฝ”๋“œ //MARK: - ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜• //MARK: - Framework import Foundation //MARK: - Function func solution() -> Void { ..

๋ฒ„๋ธ”์ •๋ ฌ(Bubble Sort)

1. ๋ฌธ์ œ ๊ธฐ๋ณธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ๋ฒ„๋ธ”์ •๋ ฌ์„ ๊ตฌํ˜„ 2. ๋ฌธ์ œ ์„ค๊ณ„ ๋ฒ„๋ธ”์ •๋ ฌ์€ ์ธ์ ‘ํ•œ ๋‘ ์›์†Œ๋ฅผ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ์ •๋ ฌ์„ ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์„ ํƒ์ •๋ ฌ ๋ฐ ์‚ฝ์ž…์ •๋ ฌ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์˜ค๋ฅธ์ชฝ ๋ถ€ํ„ฐ ์ •๋ ฌ์ด ๋˜๋Š” ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง O(N^2)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง 3. ์ „์ฒด ์ฝ”๋“œ //MARK: - ๋ฒ„๋ธ”์ •๋ ฌ(Bubble Sort) //MARK: - Framework import Foundation //MARK: - Function func solution() -> Void { //MARK: - input guard let N: Int = Int(readLine() ?? "0") else { return } guard let input = readLine()?.components(separatedBy: " ") else { return } v..

์‚ฝ์ž…์ •๋ ฌ(Insertion Sort)

1. ๋ฌธ์ œ ๊ธฐ๋ณธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ์‚ฝ์ž…์ •๋ ฌ์„ ๊ตฌํ˜„ 2. ๋ฌธ์ œ ์„ค๊ณ„ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์›์†Œ๋ฅผ ์™ผ์ชฝ ๋ถ€๋ถ„์— ์‚ฝ์ž…ํ•˜์—ฌ ์ •๋ ฌํ•ด ๋‚˜๊ฐ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ O(N^2)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง 3. ์ „์ฒด ์ฝ”๋“œ //MARK: - ์‚ฝ์ž…์ •๋ ฌ(Insertion Sort) //MARK: - Framework import Foundation //MARK: - Function func solution() -> Void { //MARK: - input guard let N: Int = Int(readLine() ?? "0") else { return } guard let input = readLine()?.components(separatedBy: " ") else { return } var array: Array = input.map ..

์„ ํƒ์ •๋ ฌ(Selection Sort)

1. ๋ฌธ์ œ ๊ธฐ๋ณธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ์„ ํƒ์ •๋ ฌ์„ ๊ตฌํ˜„ 2. ๋ฌธ์ œ ์„ค๊ณ„ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์•„ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ •๋ ฌํ•ด ๋‚˜๊ฐ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ O(N^2)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง 3. ์ „์ฒด ์ฝ”๋“œ //MARK: - ์„ ํƒ์ •๋ ฌ(Selection Sort) //MARK: - Framework import Foundation //MARK: - Function func solution() -> Void { //MARK: - input guard let N: Int = Int(readLine() ?? "0") else { return } guard let input = readLine()?.components(separatedBy: " ") else { return } var array: Array = input.map { Int($0) ?..