๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1] ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ

by hyebin (Helia) 2023. 2. 11.
๋ฐ˜์‘ํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1 ๋ชจ์Œ

์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜๋ฅผ ์ €์žฅํ•œ ๋ฐฐ์—ด, arr์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•œ ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ๋‹จ, ๋ฆฌํ„ดํ•˜๋ ค๋Š” ๋ฐฐ์—ด์ด ๋นˆ ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ์—” ๋ฐฐ์—ด์— -1์„ ์ฑ„์›Œ ๋ฆฌํ„ดํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด arr์ด [4,3,2,1]์ธ ๊ฒฝ์šฐ๋Š” [4,3,2]๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ , [10] ๋ฉด [-1]์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ ์‚ฌํ•ญ

  • arr์€ ๊ธธ์ด 1 ์ด์ƒ์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
  • ์ธ๋ฑ์Šค i, j์— ๋Œ€ํ•ด i ≠ j์ด๋ฉด arr [i] ≠ arr [j]์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

arr return 
[4,3,2,1] [4,3,2]
[10] [-1]

์ œ์ถœ

func solution(_ arr:[Int]) -> [Int] {
    var answer = arr
    answer.remove(at:answer.index(of:arr.min()!)!)
    return arr.count == 1 ? [-1] : answer
}
์ž…๋ ฅ๋ฐ›์€ ๋ฐฐ์—ด์—์„œ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ฐพ์•„ ์‚ญ์ œํ•œ๋‹ค.
์ž…๋ ฅ๋ฐ›์€ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ 1์ด๋ผ๋ฉด [-1]์„, ์•„๋‹ˆ๋ผ๋ฉด ์‚ญ์ œํ•œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋‹ค๋ฅธ ํ’€์ด

func solution(_ arr:[Int]) -> [Int] {
    let min = arr.sorted(by: <)[0]
    return arr.count == 1 ? [-1] : arr.filter{$0 != min}
}
์ž…๋ ฅ๋ฐ›์€ ๋ฐฐ์—ด์—์„œ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ฐพ์•„ min์— ์ €์žฅํ•œ๋‹ค.
์ž…๋ ฅ๋ฐ›์€ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ 1์ด๋ผ๋ฉด [-1]์„, ์•„๋‹ˆ๋ผ๋ฉด ๋ฐฐ์—ด์—์„œ min์„ ์ œ์™ธํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•