๐ TIL - for ๋ฌธ ์์ ์ด๋ฆ๋ถ์ฌ์ ๋ค์คํฌ๋ฌธ ํ์ถํ๊ธฐ!
์์ ์ ํ๋ฉด์๋ ๊ณต๋ถํ์๋ ๊ฒ์ธ๋ฐ, for ๋ฃจํ์ ์ด๋ฆ์ ๋ถ์ฌ์ค ํ, ๋ค์ค ํฌ๋ฌธ์์ 'ํน์ ํฌ๋ฌธ'์ ํ์ถ ํ ์ ์๋ค.
for i in 0..<9 {
for j in 0..<9 {
let temp = i * j
if temp == 50 {
print("๋๊ฐ๊ฑฐ์ผ")
break
}
}
}
์ ์ฝ๋๋ฅผ ๋ณด์. i์ j ์ ๊ณฑ์ด 50์ด ๋๋ฉด , ์ด์คํฌ๋ฌธ์ ๋ชจ๋!! ํ์ถํ๊ณ ์ถ๋ค. ๊ทธ๋ผ,,, ์ด๋์ break๋ฅผ ๊ฑธ์ด์ค์ผ ๋ฌด์ฌํ ํ์ถํ ์ ์์๊น? ์ง๋ฌ ์ ์ฝ๋์์๋ break ๊ฑธ๋ ค์๋ ์์น๋ฅผ ๋ณด๋ฉด, ๋ด๋ถ์ ์๋ for๋ฌธ๋ง ํ์ถํ๊ณ ์ธ๋ถ for๋ฌธ์ ํ์ถํ์ง ๋ชปํ๋ค. ์ธ๋ถ for๋ฌธ์ ํ์ถํ๋ ค๋ฉด?
outer_for_loop: for i in 0..<9 {
for j in 0..<9 {
let temp = i * j
if temp == 50 {
print("๋๊ฐ๊ฑฐ์ผ")
break outer_for_loop
}
}
}
์ด๋ ๊ฒ outer_for_loop ์ด๋ผ๋ ์ด๋ฆ์ ๋ถ์ฌ์ฃผ์๋ค. breakํด์ค๋, ์ด๋ ๊ฒ ๊ฑธ์ด์ฃผ๋ฉด, ๋ด๊ฐ ์ํ๋๋๋ก ์ธ๋ถ for๋ฌธ์ผ๋ก๋ถํฐ ๋ฐ๋ก ํ์ถ ๊ฐ๋ฅํ๋ค! ๊ธฐ์ตํด๋์ ~
๐ ๋ฌธ์
https://www.acmicpc.net/problem/2309
๐ ๋์ ํ์ด
๋ฌธ์ ๋ฅผ ๋ณด๊ณ ๋ฐ๋ก ๊ฐ์ ์ก์๋ค. ์ด๋ฐ๋ฌธ์ ๋ ์์ ํ์์ธ๊ฐ..? (์ํ์ผ๋ก ๋ถ๋ฅ๊ฐ ๋์ด์๋ค...)ํ
9๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๊ณ 7๊ฐ์ ํฉ์ด 100์ด๋ผ๊ณ ํ๋ค. ๊ทธ๋ฌ๋ฉด, 9๊ฐ์ ์๋ฅผ ์ ์ฒด ๋ค ๋ํด์ฃผ๊ณ , 100์ ๋นผ๋ฉด, ์ด๊ธ๋๋ ๋๋์ ๊ตฌํ ์ ๊ฐ ์๊ฒ ์ง!
i ์ j ๋ ๊ฐ๋ก ๋์๊ฐ๋ ์ด์ค for loop๋ฅผ ํตํด "์ ์ฒดํฉ - 100 - i - j"์ด ๋๋ i ์ j๋ฅผ ์ฐพ์์ฃผ์๋ค. ๊ทธ๋ฆฌ๊ณ i ์ j๋ฅผ ์ ์ธํ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ฉด ์ ๋ต !
๐ ์ ๋ต ์ฝ๋
private func solution() {
var nanjaeng = [Int]()
var totalSum = 0
for _ in 0..<9 {
let temp = Int(readLine()!)!
nanjaeng.append(temp)
totalSum += temp
}
nanjaeng.sort()
loop: for i in 0..<9 {
for j in i+1..<9 {
if totalSum - nanjaeng[i] - nanjaeng[j] - 100 == 0 {
for k in 0..<9 {
if k != i, k != j {
print(nanjaeng[k])
}
}
break loop
}
}
}
}
solution()
์๋, ์ด๋ฌธ์ ๋๋ฒ์งธ ํ์ด๋ณด๋๊ฑด๋ฐ!! ์ง๋๋ฒ์ ํ์๋ ํ์ด๋ ๋๊ฐ๋ค ใ ใ ใ ์ข ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ํ์๊ธธ ๋ฐ๋ฌ๋๋ฐ,, ์์ง์ ์์ ์ ๋ = ์์ฆ์ ๋์ธ๊ฑด๊ฐ.. ์ถ์ด์ ๋ค๋ฅธ์ฌ๋๋ค์ ์ฝ๋๋ฅผ ๋ค์ ธ๋ดค๋ค. ๊ทผ๋ฐ ,,,, ์ด ๋ฌธ์ ๋๋ฌด ์ฌ์์ ๊ทธ๋ฐ๊ฑฐ๊ฐ๋ค! ๋ค๋ฅธ์ฌ๋๋ค๋ ๋ค ๋น์ทํ๊ฒ ํ์๋ค ใ ใ