Bibi's DevLog ๐ค๐
[๋ฐฑ์ค 2309] ์ผ๊ณฑ ๋์์ด ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋ฐ/์๊ณ ๋ฆฌ์ฆ ํ์ด Swift
[๋ฐฑ์ค 2309] ์ผ๊ณฑ ๋์์ด
๋น๋น bibi 2022. 9. 7. 12:332309๋ฒ: ์ผ๊ณฑ ๋์์ด
์ํ ๊ฐ์ ์ค์ ๊ฑธ์ณ ๋์์ด๋ค์ ํค๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ํค๋ 100์ ๋์ง ์๋ ์์ฐ์์ด๋ฉฐ, ์ํ ๋์์ด์ ํค๋ ๋ชจ๋ ๋ค๋ฅด๋ฉฐ, ๊ฐ๋ฅํ ์ ๋ต์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฑฐ๋ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
3040๋ฒ: ๋ฐฑ์ค ๊ณต์ฃผ์ ์ผ๊ณฑ ๋์์ด ๋ฌธ์ ์ ๋์ผํ๋ค.
- ์ด ๋ฌธ์ ๋ 2์๊ฐ์ ๋ ๊ณ ๋ฏผํ๋ค๊ฐ ์ค์ค๋ก ํ๊ธฐ ์ด๋ ค์ ๊ตฌ๊ธ๋งํด ๋ณด์๋ค.
- ์๋๋ ์ฐธ๊ณ ํ ๋งํฌ๋ค.
(Swift) ๋ฐฑ์ค 2309 ์ผ๊ณฑ ๋์์ด
[์ฝ๋ฉํ ์คํธ ๋๋น] ์์ด(Permutation)๊ณผ ์กฐํฉ(Combination) ์๊ณ ๋ฆฌ์ฆ
ํด์ค
- ์ฐ์ ์, ๋ฌธ์ ๊ทธ๋๋ก ํค์ ํฉ์ด 100์ด ๋๋ 7๋ช ์ ์ฐพ๋ ๊ฒ ์๋๋ผ, ํค์ ํฉ์ด ์ ์ฒดํฉ - 100 ์ด ๋๋ ๋๋จธ์ง 2๋ช ์ ์ฐพ๋๋ค๋ ์์ด๋์ด๊ฐ ํ์ํ๋ค.
- ์ฐพ์์ผ ํ ๋์์ด 7๊ฐ์์ 2๊ฐ๋ก ์ค์์ผ๋ฏ๋ก ๋ฐ๋ณต๋ฌธ์ผ๋ก๋ ์ถฉ๋ถํ ํด๊ฒฐ์ด ๊ฐ๋ฅํด์ง๋ค.
- ๋ฐ๋ณต๋ฌธ ๋์ ์กฐํฉ(combination)์ผ๋ก๋ ํ ์ ์๋ค๊ณ ํ๋ค.
- ์์ด๊ณผ ์กฐํฉ์ ๋ํด ๊ณต๋ถํด์ผ ํ ํ์์ฑ์ ๋๊ผ๋ค.
- (์ถ๊ฐ) ์ด์คfor๋ฌธ ๋ด์์ ๊ทธ๋ฅ break๋ฅผ ํ๋ฉด ๋ฐ๊นฅ ๋ฐ๋ณต๋ฌธ์ ํ์ถํ์ง ๋ชปํด ์ธ๋ฑ์ค ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ๋ฐ๋์ ๋ฐ๊นฅ ๋ฃจํ์ ์ด๋ฆ์ ๋ถ์ฌ ์ฃผ๊ณ , ๊ทธ ๋ฃจํ ์ ์ฒด๋ฅผ ํ์ถํจ์ ๋ช ์ํด ์ค์ผ ํ๋ค.
ํ์ด1
var inputArr: [Int] = []
for _ in 1...9 {
let input = Int(readLine()!)!
inputArr.append(input)
}
inputArr.sort()
let exceptSum = inputArr.reduce(0, +) - 100
outerLoop : for index1 in inputArr.indices {
let except1 = inputArr[index1]
for index2 in inputArr.indices {
let except2 = inputArr[index2]
if (except1 + except2 == exceptSum) {
inputArr.remove(at: max(index1, index2))
inputArr.remove(at: min(index1, index2))
break outerLoop
}
}
}
for input in inputArr {
print(input)
}
ํ์ด2
var inputArr: [Int] = []
(1...9).forEach { _ in
inputArr.append(Int(readLine()!)!)
}
let sum = inputArr.reduce(0, +)
let remain = sum - 100
outerLoop: for i in inputArr.indices {
for j in inputArr.indices {
let a = inputArr[i]
let b = inputArr[j]
if i != j && inputArr[i] + inputArr[j] == remain {
inputArr.remove(at: inputArr.firstIndex(of: a)!)
inputArr.remove(at: inputArr.firstIndex(of: b)!)
break outerLoop // ๋งค์ฐ ํ์!
}
}
}
inputArr.forEach { print($0) }
'ํ๋ก๊ทธ๋๋ฐ > ์๊ณ ๋ฆฌ์ฆ ํ์ด Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 2484] ์ฃผ์ฌ์ ๋ค๊ฐ (Swift) (0) | 2022.09.12 |
---|---|
[๋ฐฑ์ค 2476] ์ฃผ์ฌ์ ๊ฒ์ (Swift) (0) | 2022.09.09 |
[๋ฐฑ์ค 2386] ๋๋น์ ์์ด ๊ณต๋ถ (0) | 2022.09.07 |
[๋ฐฑ์ค 2355] ์๊ทธ๋ง (0) | 2022.09.06 |
[๋ฐฑ์ค 1864] ๋ฌธ์ด ์ซ์ (0) | 2022.09.02 |