๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ˆซ์ž ๊ฒŒ์ž„

by Fomagran ๐Ÿ’ป 2021. 6. 11.
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
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€