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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ์ตœ๋Œ“๊ฐ’ ๋งŒ๋“ค๊ธฐ (2)

by hyebin (Helia) 2023. 1. 2.
๋ฐ˜์‘ํ˜•

์ตœ๋Œ“๊ฐ’ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์˜ ์›์†Œ ์ค‘ ๋‘ ๊ฐœ๋ฅผ ๊ณฑํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • -10,000 ≤ numbers์˜ ์›์†Œ ≤ 10,000
  • 2 ≤ numbers ์˜ ๊ธธ์ด ≤ 100

์ž…์ถœ๋ ฅ ์˜ˆ

numbers result
[1, 2, -3, 4, -5] 15
[0, -31, 24, 10, 1, 9] 240
[10, 20, 30, 5, 5, 20, 5] 600

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ -3 * -5 = 15 ์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ 10 * 24 = 240 ์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

  • ๋‘ ์ˆ˜์˜ ๊ณฑ์ค‘ ์ตœ๋Œ“๊ฐ’์€ 20 * 30 = 600 ์ž…๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ numbers:[Int]) -> Int {
    let n = numbers.sorted()
    return max(n[0]*n[1], n[n.count-1]*n[n.count-2])
}
๋ฐฐ์—ด์„ ์ •๋ ฌํ•œ ํ›„, ๋ฐฐ์—ด์˜ 0๋ฒˆ, 1๋ฒˆ ์š”์†Œ๋ฅผ ๊ณฑํ•œ ๊ฐ’๊ณผ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ 2๊ฐœ์˜ ์š”์†Œ๋ฅผ ๊ณฑํ•œ ๊ฐ’ ์ค‘์—์„œ ํฐ ๊ฐ’์„ ๋ฐ˜ํ™˜
๋ฐ˜์‘ํ˜•