2022. 10. 1. 09:47ใAlgorithm
๋ํ๊ฐ
๋ฌธ์ ์ค๋ช
N๋ช
์ ํ์์ ์ํ์ ์๊ฐ ์ฃผ์ด์ง๋๋ค. N๋ช
์ ํ์๋ค์ ํ๊ท (์์ ์ฒซ์งธ์๋ฆฌ ๋ฐ์ฌ๋ฆผ)์ ๊ตฌํ๊ณ , N๋ช
์ ํ์ ์ค ํ๊ท ์ ๊ฐ์ฅ ๊ฐ๊น์ด ํ์์ ๋ช ๋ฒ์งธ ํ์์ธ์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ ์.
ํ๊ท ๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ ๋จผ์ ์ ์๊ฐ ๋์ ํ์์ ๋ฒํธ๋ฅผ ๋ต์ผ๋ก ํ๊ณ , ๋์ ์ ์๋ฅผ ๊ฐ์ง ํ์์ด ์ฌ๋ฌ ๋ช
์ผ ๊ฒฝ์ฐ ๊ทธ ์ค ํ์๋ฒํธ๊ฐ ๋น ๋ฅธ ํ์์ ๋ฒํธ๋ฅผ ๋ต์ผ๋ก ํฉ๋๋ค.
โฃ ์
๋ ฅ์ค๋ช
์ฒซ์ค์ ์์ฐ์ N(5<=N<=100)์ด ์ฃผ์ด์ง๊ณ , ๋ ๋ฒ์งธ ์ค์๋ ๊ฐ ํ์์ ์ํ์ ์์ธ N๊ฐ์ ์์ฐ ์๊ฐ ์ฃผ์ด์ง๋๋ค. ํ์์ ๋ฒํธ๋ ์์์๋ถํฐ 1๋ก ์์ํด์ N๊น์ง์ด๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์ฒซ์ค์ ํ๊ท ๊ณผ ํ๊ท ์ ๊ฐ์ฅ ๊ฐ๊น์ด ํ์์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค. ํ๊ท ์ ์์ ์ฒซ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํฉ๋๋ค.
โฃ
10 45
โฃ
74
์
๋ ฅ์์ 1
73 66 87 92 67 75 79 75 80
์ถ๋ ฅ์์ 1 7
์์ ์ค๋ช
)
ํ๊ท ์ด 74์ ์ผ๋ก ํ๊ท ๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์๋ 73(2๋ฒ), 75(7๋ฒ), 75(9๋ฒ)์
๋๋ค. ์ฌ๊ธฐ์ ์ ์๊ฐ ๋์ 75(7๋ฒ), 75(9๋ฒ)์ด ๋ต์ด ๋ ์ ์๊ณ , 75์ ์ด ๋๋ช
์ด๋ฏ๋ก ํ์๋ฒํธ๊ฐ ๋น ๋ฅธ 7๋ฒ์ด ๋ต์ด ๋ฉ๋๋ค.
๋์ ํ์ด
import Foundation
let n = Int(readLine()!)!
let input = readLine()!
let arr = input.components(separatedBy: " ")
let intArr = arr.map{Int($0)!}
let avg = Int(round(Double(intArr.reduce(0, +)) / Double(intArr.count)))
var minVal = 100
var minIdx = 0
var curVal = 0
for (i, num) in intArr.enumerated() {
if abs(avg-num) <= minVal {
if abs(avg-num) == minVal {
if num > curVal {
minVal = abs(avg-num)
minIdx = i+1
curVal = num
}
} else {
minVal = abs(avg-num)
minIdx = i+1
curVal = num
}
}
}
print("\(avg) \(minIdx)")
๋ค๋ฅธ ์ฌ๋์ ํ์ด
import Foundation
let n = Int(readLine()!)!
let input = readLine()!
let arr = input.components(separatedBy: " ")
let intArr = arr.map{Int($0)!}
let avg = Int(round(Double(intArr.reduce(0, +)) / Double(intArr.count)))
var minVal = 100
var minIdx = 0
var curVal = 0
for (i, num) in intArr.enumerated() {
let tmp = abs(avg-num)
if tmp < minVal {
minIdx = i+1
minVal = tmp
curVal = num
} else if (tmp == minVal) {
if num > curVal {
minIdx = i+1
curVal = num
}
}
}
print("\(avg) \(minIdx)")
ํผ๋๋ฐฑ
1. ๋ด ํ์ด์์๋ if๋ฌธ ์์์ ๊ฐ์ ๊ฒฝ์ฐ์ ์(==)์ ๋ ๋ฒ ์ฌ์ฉํด์ ์กฐ๊ฑด์ ํจ๊ณผ์ ์ผ๋ก ๋๋์ง ๋ชปํ๋ค. (์กฐ๊ฑด์ ์ ๋๋๋ ๊ฒ์ด ์ค์)
2. ์ค๋ณต๋๋ abs(avg-num)๋ฅผ ๋ณ์๋ก ๋์
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค - ํ๋ฌธ(Swift) (0) | 2022.10.06 |
---|---|
ํ๋ฌธ ๋ฌธ์์ด ๊ฒ์ฌ(Swift) (1) | 2022.10.05 |
์์ฃผํ์ง ๋ชปํ ์ ์ - ํ๋ก๊ทธ๋๋จธ์ค(python3) (0) | 2022.10.03 |
๋ฐฑ์ค - ์ฃผ์ฌ์๊ฒ์ 2476๋ฒ (Swift) (0) | 2022.10.03 |
K๋ฒ์งธ ํฐ ์(Swift) (0) | 2022.09.30 |