๐ ๋ฌธ์
https://www.acmicpc.net/problem/1244
๐ ๋์ ํ์ด
๊ตฌํ๋ฌธ์ ๋ผ์, ๊ทธ๋ฅ ๋ณด์๋ง์ ํ์ด๋ฅผ ๋ ์ฌ๋ฆฐ ํ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ์ฌ์/๋จ์์ผ๊ฒฝ์ฐ ์ค์์น๋ฅผ ์ผ๋ ๋ฐฉ์์ด ๋ค๋ฅธ๋ฐ ์ด ๋ถ๊ธฐ์ฒ๋ฆฌ๋ง ์ ํด์ฃผ๋ฉด๋๋ค.
์,, ๊ทผ๋ฐ ๋ฒ์์ค์ ? ๋ญ์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๋ญ๊ฐ ์๊พธ ์ด์ํด์ ์์ฒญ ํ๋ ธ๋ค... ์ง์ง ๋ฐ๋ณด... ์ฑ๋ณ์ด ๋จ์์ผ ๋ ๋ถ๋ถ์์ ์ฒ์์ while๋ฌธ์ผ๋ก ์๋์ฒ๋ผ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
ใ ใ ใ ใ ใ num+=num ์ฌ๊ธฐ๋ถ๋ถ์์, num์ด 3์ผ๋, 3, 6, 9,,, ์ด๋ ๊ฒ ์ปค์ ธ์ผํ๋๋ฐ ๋ด ์ฝ๋์ผ๊ฒฝ์ฐ num๋ํ ๊ณ์ ๋ฐ๋๊ธฐ ๋๋ฌธ์ num์ 3์ ๋ฐฐ์๊ฐ ์๋๋ผ 3+3์ด ๋์๋ค๊ฐ 6+6 ์ด ๋์๋ค๊ฐ... ๋ง๋์๋๊ฒ ์ปค์ง๋ค. ์ด๋ถ๋ถ์ด ์๋ชป๋๊ฒ์ ์ธ์งํ์ง ๋ชปํ๊ณ ๋ช๋ฒ์ ํ๋ฆฌ๊ณ ์ง์ง๊ณ ๋ณถ์๋??
ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ์ง์ง ;;; ๋๋ฌด ํ๊ฐ๋ฌ๋ค... ๋ง์๋๋ฐ ๋๋์ฒด ์๋ง์์ง? ์ถ์ด์ ๋ฐ๋ณด๊ฐ์ด ์ด๊ฒ์ ๊ฒ ๋ ๋ฐ๊ฟ๋ณด๋ฉด์ ํ๋ฆฐ ๋ถ๋ถ์ ์ฐพ์๋๊น์ง ๊ณ์ ์์ ์ ์์ ์ ๋ฐ๋ณต ํด๋ดค๋ค. ๊ฒฐ๊ตญ.. ์ ๋์ด ๋ฌธ์ ์๋๊ฒ...
์ด๊ธฐ์ num์ ์๋ก์ด ๋ณ์์ ์ ์ฅํด๋๊ณ ๊ณ์ ๋ํด์คฌ์ด์ผํ๋๋ฐ.. ์ผ๋จ ์ด์จ๋ ๋ for๋ฌธ์ stride๋ฅผ ์ฌ์ฉํด์ ํด๊ฒฐํ๋ค..ํ..
๐ ์ ๋ต์ฝ๋
import Foundation
let switchNum = Int(readLine()!)!
var switches = [-1] + readLine()!.split(separator: " ").map { Int($0)! }
let studentNum = Int(readLine()!)!
var students = [[Int]]()
for _ in 0..<studentNum {
students.append(readLine()!.split(separator: " ").map{ Int($0)! })
}
for student in students {
switch student[0] {
case 1:
let num = student[1]
for i in stride(from: num, through: switchNum, by: num) {
switches[i] = switches[i] == 1 ? 0 : 1
}
default:
let num = student[1]
switches[num] = switches[num] == 1 ? 0 : 1
for i in 1...switchNum/2 {
if num - i < 1 || num + i > switchNum {
break
}
if switches[num - i] == switches[num + i] {
switches[num - i] = switches[num - i] == 1 ? 0 : 1
switches[num + i] = switches[num + i] == 1 ? 0 : 1
} else {
break
}
}
}
}
for i in 1...switchNum {
print(switches[i], terminator: " ")
if i % 20 == 0 {
print()
}
}
ํ๋ค๋ค ๋ฒ์จ... ์ด๋ฒ์ฃผ ์์ด๋ฌ์ง ใ ใ ํ์คํ ๊ทธ์ ๊ป๋ถํฐ ์ ์ ์ด ๋๊ฐ์์๋๋ฐ ์์ง๋ ์ ์ ์ด ๋์์ค์ง ์์ ๊ธฐ๋ถ์ด๋ค. ์ด์ํด.. ์ด์ํ๊ฑฐ์์ ์๊พธ ํ๋ฆฌ๊ณ ๋จธ๋ฆฌ๋ ์๋์๊ฐ๊ณ ์ง์ค๋ ์๋๊ณ ใ ใ ์ค๋ฒ4 ํธ๋๋ฐ ์๊ฐ์ ์ผ๋ง๋ ์ด๊ฑฐ์ผ ํ...
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] (Swift) 20546๋ฒ - ๊ธฐ์ ์ ๋งค๋ฏธ๋ฒ (๊ตฌํ) (0) | 2023.02.15 |
---|---|
[๋ฐฑ์ค] (Swift) 20291๋ฒ - ํ์ผ ์ ๋ฆฌ (๊ตฌํ) (0) | 2023.02.15 |
[๋ฐฑ์ค] (Swift) 10431๋ฒ - ์ค ์ธ์ฐ๊ธฐ (๊ตฌํ, ์ค๋ฒ5) (0) | 2023.02.13 |
[๋ฐฑ์ค] (Swift) 1157๋ฒ - ๋จ์ด ๊ณต๋ถ (๊ตฌํ, ๋ธ๋ก ์ฆ 1) (0) | 2023.02.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Python) ๋จ์์นด๋ฉ๋ผ (lv.3, ๊ทธ๋ฆฌ๋) (0) | 2023.02.08 |