๐ Problem Solution/Programmers
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ซ์ ๊ฒ์
Fomagran ๐ป
2021. 6. 11. 13:37
728x90
๋ฐ์ํ
Problem
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ซ์ ๊ฒ์
xx ํ์ฌ์ 2xN๋ช ์ ์ฌ์๋ค์ N๋ช ์ฉ ๋ ํ์ผ๋ก ๋๋ ์ซ์ ๊ฒ์์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ ๊ฐ์ ํ์ ๊ฐ๊ฐ Aํ๊ณผ Bํ์ด๋ผ๊ณ ํ๊ฒ ์ต๋๋ค. ์ซ์ ๊ฒ์์ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋จผ์ ๋ชจ๋ ์ฌ์์ด ๋ฌด์์๋ก
programmers.co.kr
Solution
1. a์ b๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ์ํต๋๋ค. (sortB,sortA๋ผ๊ณ ์นญํ๊ฒ ์ต๋๋ค.)
2. sortB๋ฅผ ์ํํ๋ฉด์ sortA์ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ๊ฐ(๊ฐ์ฅ ์์๊ฐ)์ด ๋ ์๋ค๋ฉด sortA์ ์ฒซ๋ฒ์งธ ๊ฐ์ ์ญ์ ํด์ค๋๋ค.
3. ์ ์ฒด ๊ฐฏ์์์ sortA์ ๊ฐฏ์๋ฅผ ๋นผ์ค๋๋ค.
Souce Code
func solution(_ a:[Int], _ b:[Int]) -> Int { var sortA = a.sorted() b.sorted().forEach{ sortA = sortA.first! < $0 ? Array(sortA[1...]) : sortA } return a.count - sortA.count }
P.S
์ฒ์์ while๋ฌธ๊ณผ removeFirst๋ก ์ ๊ทผํด์ ๊ณ์ ํจ์จ์ฑ์์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฌ๋ ๋ฌธ์ ๋ค.
๊ทธ๋ฅ B๋ ์ฐจ๋ก๋ก ์ํํ๋ฉด ๋๋๊ฑด๋ฐ ์ removeFirst๋ฅผ ํด๊ฐ์ง๊ณ ...
์ ํ์ด ์ฝ๋๋ ๋จ๊ณผ ๋ฌ๋ผ๋ณด์ด๊ณ ์ถ์ด์ ๋ฏธ์น๋ฏ์ด ์ค์ฌ๋ณด์๋๋ฐ ๊ฒฐ์ฝ ์ข์ ์ฝ๋๋ผ๊ณ ๋ณด๊ธด ํ๋ค๋ค...ใ
ใ
๊ทผ๋ฐ ์ด๊ฒ 3๋จ๊ณ๋ผ๊ธฐ์ ๋๋ฌด ์ฌ์ด๋ฐ... ๊ดํ ์ซ์๋ค
728x90
๋ฐ์ํ