๊ธ€ ์ž‘์„ฑ์ž: ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ์ด

๋ฌธ์ œ

https://programmers.co.kr/learn/courses/30/lessons/49191?language=swift 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ˆœ์œ„

5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2

programmers.co.kr

๋ฌธ์ œ ์„ค๋ช…

n๋ช…์˜ ๊ถŒํˆฌ์„ ์ˆ˜๊ฐ€ ๊ถŒํˆฌ ๋Œ€ํšŒ์— ์ฐธ์—ฌํ–ˆ๊ณ  ๊ฐ๊ฐ 1๋ฒˆ๋ถ€ํ„ฐ n๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ถŒํˆฌ ๊ฒฝ๊ธฐ๋Š” 1๋Œ€1 ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰์ด ๋˜๊ณ , ๋งŒ์•ฝ A ์„ ์ˆ˜๊ฐ€ B ์„ ์ˆ˜๋ณด๋‹ค ์‹ค๋ ฅ์ด ์ข‹๋‹ค๋ฉด A ์„ ์ˆ˜๋Š” B ์„ ์ˆ˜๋ฅผ ํ•ญ์ƒ ์ด๊น๋‹ˆ๋‹ค. ์‹ฌํŒ์€ ์ฃผ์–ด์ง„ ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง€๊ณ  ์„ ์ˆ˜๋“ค์˜ ์ˆœ์œ„๋ฅผ ๋งค๊ธฐ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ช‡๋ช‡ ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ๋ถ„์‹คํ•˜์—ฌ ์ •ํ™•ํ•˜๊ฒŒ ์ˆœ์œ„๋ฅผ ๋งค๊ธธ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์„ ์ˆ˜์˜ ์ˆ˜ n, ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์€ 2์ฐจ์› ๋ฐฐ์—ด results๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์ •ํ™•ํ•˜๊ฒŒ ์ˆœ์œ„๋ฅผ ๋งค๊ธธ ์ˆ˜ ์žˆ๋Š” ์„ ์ˆ˜์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • ์„ ์ˆ˜์˜ ์ˆ˜๋Š” 1๋ช… ์ด์ƒ 100๋ช… ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋Š” 1๊ฐœ ์ด์ƒ 4,500๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • results ๋ฐฐ์—ด ๊ฐ ํ–‰ [A, B]๋Š” A ์„ ์ˆ˜๊ฐ€ B ์„ ์ˆ˜๋ฅผ ์ด๊ฒผ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ์—๋Š” ๋ชจ์ˆœ์ด ์—†์Šต๋‹ˆ๋‹ค.

ํ’€์ด

๋น„๊ธฐ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ์Šน๋ฆฌ, ํŒจ๋ฐฐ ๊ด€๊ณ„๋ฅผ ์ฒดํฌํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด, A๊ฐ€ B๋ฅผ ์ด๊ธฐ๊ณ , C๊ฐ€ B์—๊ฒŒ ํŒจ๋ฐฐํ•˜์˜€๋‹ค๋ฉด ๊ธฐ๋ก์€ ์—†์ง€๋งŒ A๊ฐ€ C๋ฅผ ์ด๊ฒผ๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๋งฅ๋ฝ์œผ๋กœ, A๊ฐ€ B์—๊ฒŒ ํŒจ๋ฐฐํ–ˆ๊ณ , C๊ฐ€ B์—๊ฒŒ ํŒจ๋ฐฐํ–ˆ๋‹ค๋ฉด C๋Š” A์—๊ฒŒ ํŒจ๋ฐฐํ–ˆ๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ A๊ฐ€ B๋ฅผ ์ด๊ธฐ๊ณ  C๊ฐ€ B๋ฅผ ์ด๊ฒผ๋‹ค๋ฉด A์™€ C์˜ ์ˆœ์œ„๋Š” ์•Œ ์ˆ˜ ์—†๊ฒŒ๋ฉ๋‹ˆ๋‹ค. 

 

๋”ฐ๋ผ์„œ ์–ด๋–ค ์„ ์ˆ˜ A์™€์˜ ์ŠนํŒจ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ค‘๊ฐ„์— ๋‹ค๋ฅธ ๋ชจ๋“  ์„ ์ˆ˜์™€์˜ ์ŠนํŒจ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•˜๋ฉด ์ฃผ์–ด์ง„ ๊ธฐ๋ก๋งŒ์œผ๋กœ ์ŠนํŒจ๊ด€๊ณ„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด ์„ ์ˆ˜ A, B, C, D๊ฐ€ ์žˆ๋‹ค๋ฉด, A์™€ D์˜ ์ŠนํŒจ๊ด€๊ณ„๋Š” AB์˜ ์ŠนํŒจ, BD์˜ ์ŠนํŒจ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•˜๊ฑฐ๋‚˜, AC์˜ ์ŠนํŒจ, CD์˜ ์ŠนํŒจ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ๊ณผ ๋น„์Šทํ•˜๊ฒŒ 3์ค‘ ๋ฐ˜๋ณต์„ ์‚ฌ์šฉํ•ด์„œ ๊ฑฐ์ณ๊ฐ€๋Š” ๋ชจ๋“  ์ค‘๊ฐ„์ง€์ ์„ ์ž์‹ ๊ณผ ๋ชฉ์ ์ง€๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์„ ์ˆ˜๋“ค๋กœ ์„ค์ •ํ•ด ์ŠนํŒจ๊ด€๊ณ„๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ŠนํŒจ๊ด€๊ณ„๊ฐ€ ๋ชจ๋‘ ์—…๋ฐ์ดํŠธ๋œ ์ดํ›„์—๋Š” ์ˆœ์œ„๋ฅผ ํ™•์‹คํžˆ ์•Œ ์ˆ˜ ์žˆ๋Š” ์„ ์ˆ˜๋“ค์„ ๊ณจ๋ผ๋‚ด์•ผํ•ฉ๋‹ˆ๋‹ค. "์ŠนํŒจ๋ฅผ ํ™•์‹คํžˆ ์•Œ ์ˆ˜ ์žˆ๋‹ค"๋Š” ์ž์‹ ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋‹ค๋ฅธ ์„ ์ˆ˜๋“ค๊ณผ์˜ ์ŠนํŒจ๊ด€๊ณ„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋ชจ๋“  ์„ ์ˆ˜๋“ค๊ณผ์˜ ์Šน๋ฆฌ, ํ˜น์€ ํŒจ๋ฐฐ๊ฐ€ ์ •ํ•ด์ ธ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ํ”Œ๋กœ์ด๋“œ ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐ๊ฐ’์„ -1๋กœ ์„ค์ •ํ•˜๊ณ , ์Šน๋ฆฌ๋Š” 1, ํŒจ๋ฐฐ๋Š” 0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์ž์‹ ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์„ ์ˆ˜๋“ค๊ณผ์˜ ๊ด€๊ณ„๊ฐ€ -1์ด ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๋ฉด ์ˆœ์œ„๋ฅผ ํ™•์‹คํžˆ ์•Œ ์ˆ˜ ์žˆ๋Š” ์„ ์ˆ˜๋“ค๋งŒ ๊ณจ๋ผ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ