[Swift Algorithm] ์คํฐ์ BOJ #17298
๋ฌธ์ ์ค๋ช
ํฌ๊ธฐ๊ฐ N์ธ ์์ด A = A1, A2, ..., AN์ด ์๋ค. ์์ด์ ๊ฐ ์์ Ai์ ๋ํด์ ์คํฐ์ NGE(i)๋ฅผ ๊ตฌํ๋ ค๊ณ ํ๋ค. Ai์ ์คํฐ์๋ ์ค๋ฅธ์ชฝ์ ์์ผ๋ฉด์ Ai๋ณด๋ค ํฐ ์ ์ค์์ ๊ฐ์ฅ ์ผ์ชฝ์ ์๋ ์๋ฅผ ์๋ฏธํ๋ค. ๊ทธ๋ฌํ ์๊ฐ ์๋ ๊ฒฝ์ฐ์ ์คํฐ์๋ -1์ด๋ค. ์๋ฅผ ๋ค์ด, A = [3, 5, 2, 7]์ธ ๊ฒฝ์ฐ NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1์ด๋ค. A = [9, 5, 4, 8]์ธ ๊ฒฝ์ฐ์๋ NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1์ด๋ค. ์
๋ ฅ ์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์ ์์ด A์ ์์ A1, A2, ..., AN (1 ≤ Ai ≤ 1..
2021. 8. 8.
[Swift Algorithm] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ Programmers(Lv.2)
๋ฌธ์ ์ค๋ช
ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ง ์์ผ๋ก ๊ฑด๋๋ ค ํฉ๋๋ค. ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์๋ด์ผ ํฉ๋๋ค. ๋ค๋ฆฌ์๋ ํธ๋ญ์ด ์ต๋ bridge_length๋ ์ฌ๋ผ๊ฐ ์ ์์ผ๋ฉฐ, ๋ค๋ฆฌ๋ weight ์ดํ๊น์ง์ ๋ฌด๊ฒ๋ฅผ ๊ฒฌ๋ ์ ์์ต๋๋ค. ๋จ, ๋ค๋ฆฌ์ ์์ ํ ์ค๋ฅด์ง ์์ ํธ๋ญ์ ๋ฌด๊ฒ๋ ๋ฌด์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํธ๋ญ 2๋๊ฐ ์ฌ๋ผ๊ฐ ์ ์๊ณ ๋ฌด๊ฒ๋ฅผ 10kg๊น์ง ๊ฒฌ๋๋ ๋ค๋ฆฌ๊ฐ ์์ต๋๋ค. ๋ฌด๊ฒ๊ฐ [7, 4, 5, 6]kg์ธ ํธ๋ญ์ด ์์๋๋ก ์ต๋จ ์๊ฐ ์์ ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ฑด๋์ผ ํฉ๋๋ค. ๊ฒฝ๊ณผ ์๊ฐ ๋ค๋ฆฌ๋ฅผ ์ง๋ ํธ๋ญ ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ํธ๋ญ ๋๊ธฐ ํธ๋ญ 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 [7] [4,5..
2021. 8. 6.
[Swift Algorithm] ์ฅ์ ์ ์ ๊พธ๋ฏธ๊ธฐ BOJ #6198
๋ฌธ์ ์ค๋ช
๋์์๋ N๊ฐ์ ๋น๋ฉ์ด ์๋ค. ๋น๋ฉ ๊ด๋ฆฌ์ธ๋ค์ ๋งค์ฐ ์ฑ์ค ํ๊ธฐ ๋๋ฌธ์, ๋ค๋ฅธ ๋น๋ฉ์ ์ฅ์ ์ ์์ ๋ฒค์น๋งํน ํ๊ณ ์ถ์ดํ๋ค. i๋ฒ์งธ ๋น๋ฉ์ ํค๊ฐ hi์ด๊ณ , ๋ชจ๋ ๋น๋ฉ์ ์ผ๋ ฌ๋ก ์ ์๊ณ ์ค๋ฅธ์ชฝ์ผ๋ก๋ง ๋ณผ ์ ์๋ค. i๋ฒ์งธ ๋น๋ฉ ๊ด๋ฆฌ์ธ์ด ๋ณผ ์ ์๋ ๋ค๋ฅธ ๋น๋ฉ์ ์ฅ์ ์ ์์ i+1, i+2, .... , N์ด๋ค. ๊ทธ๋ฐ๋ฐ ์์ ์ด ์์นํ ๋น๋ฉ๋ณด๋ค ๋๊ฑฐ๋ ๊ฐ์ ๋น๋ฉ์ด ์์ผ๋ฉด ๊ทธ ๋ค์์ ์๋ ๋ชจ๋ ๋น๋ฉ์ ์ฅ์์ ๋ณด์ง ๋ชปํ๋ค. ์) N=6, H = {10, 3, 7, 4, 12, 2}์ธ ๊ฒฝ์ฐ 1๋ฒ ๊ด๋ฆฌ์ธ์ 2, 3, 4๋ฒ ๋น๋ฉ์ ์ฅ์์ ํ์ธํ ์ ์๋ค. 2๋ฒ ๊ด๋ฆฌ์ธ์ ๋ค๋ฅธ ๋น๋ฉ์ ์ฅ์์ ํ์ธํ ์ ์๋ค. 3๋ฒ ๊ด๋ฆฌ์ธ์ 4๋ฒ ๋น๋ฉ์ ์ฅ์์ ํ์ธํ ์ ์๋ค. 4๋ฒ ๊ด๋ฆฌ์ธ์ ๋ค๋ฅธ ๋น๋ฉ์ ์ฅ์์ ํ์ธํ ์ ์๋ค. 5๋ฒ..
2021. 8. 6.