728x90
https://www.acmicpc.net/problem/10811
๋ต์์ฝ๋
let input = readLine()!.split(separator: " ").map { Int($0)! }
let N = input[0]
let M = input[1]
var baskets = Array(1...N)
for _ in 0..<M {
let range = readLine()!.split(separator: " ").map { Int($0)! }
let i = range[0] - 1
let j = range[1] - 1
baskets[i...j].reverse()
}
print(baskets.map { String($0) }.joined(separator: " "))
- let input = readLine()!.split(separator: " ").map { Int($0)! }:
- ์ฒซ ๋ฒ์งธ ์ค์ ์ ๋ ฅ์ ๋ฐ์ ๊ณต๋ฐฑ์ผ๋ก ๋ถ๋ฆฌํ๊ณ , ๊ฐ ๋ถ๋ถ์ ์ ์๋ก ๋ณํํฉ๋๋ค.
- !๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ธ๋ํํ๋ ๊ฒ์ ์ ๋ ฅ์ด ํญ์ ์ ํจํ๋ค๊ณ ๊ฐ์ ํ ๋๋ง ์์ ํฉ๋๋ค.
- let N = input[0], let M = input[1]:
- ์ ๋ ฅ๋ฐ์ ๊ฐ์์ N(๋ฐ๊ตฌ๋์ ๊ฐ์)๊ณผ M(์ญ์ ์์ ์ ํ์)์ ์ถ์ถํฉ๋๋ค.
- var baskets = Array(1...N):
- 1๋ถํฐ N๊น์ง์ ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ ์์ฑํฉ๋๋ค. ์ด๋ ์ด๊ธฐ ๋ฐ๊ตฌ๋ ์ํ๋ฅผ ๋ํ๋ ๋๋ค.
- for _ in 0..<M {:
- M๋ฒ ๋ฐ๋ณตํ๋ ๋ฃจํ๋ฅผ ์์ํฉ๋๋ค. ๊ฐ ๋ฐ๋ณต์์ ์ญ์ ์์ ์ ์ํํฉ๋๋ค.
- let range = readLine()!.split(separator: " ").map { Int($0)! }:
- ๊ฐ ์ญ์ ์์ ์ ๋ฒ์๋ฅผ ์ ๋ ฅ๋ฐ์ต๋๋ค.
- let i = range[0] - 1, let j = range[1] - 1:
- ์ ๋ ฅ๋ฐ์ ๋ฒ์๋ฅผ ๋ฐฐ์ด์ ์ธ๋ฑ์ค์ ๋ง๊ฒ ์กฐ์ ํฉ๋๋ค(1์ ๋นผ์ค๋๋ค).
- baskets[i...j].reverse():
- i๋ถํฐ j๊น์ง์ ๋ถ๋ถ ๋ฐฐ์ด์ ์ญ์์ผ๋ก ๋ง๋ญ๋๋ค.
- print(baskets.map { String($0) }.joined(separator: " ")):
- ์ต์ข ๋ฐ๊ตฌ๋ ์ํ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ๊ฐ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๊ณ , ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ํ ์ค์ ์ถ๋ ฅํฉ๋๋ค.
๋ฐฐ์ด์ ๋ถ๋ถ ๋ฒ์๋ฅผ ์ญ์์ผ๋ก ๋ง๋๋ ์์ ์ ํด์ผ๋๋๋ฐ Swift์ reverse() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ์ต๋๋ค.
'๐ Daily Loaf > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๋ฒ5][Swift]๋ฐฑ์ค2563๋ฒ (0) | 2024.10.14 |
---|---|
[๋ธ๋ก ์ฆ1][Swift]๋ฐฑ์ค1546๋ฒ(map/reduce) (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค3052๋ฒ(Set) (0) | 2024.10.07 |
[๋ธ๋ก ์ฆ3][Swift]๋ฐฑ์ค5597(๋ฐฐ์ด) (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค10813 (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ3][Swift]๋ฐฑ์ค10810(Array) (0) | 2024.10.05 |
[๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10951(while/EOF) (1) | 2024.10.04 |
[๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10952(while) (0) | 2024.10.04 |