๋ฆ๊ฒ ์์ํด์ ํ ์ฃผ ๋ฆ๊ฒ ์์ฑํ๋ 1์ฃผ์ฐจ ์ธ์ฆ๊ธ!!
์ฒ์ ์ค๋ ฅ์ง๋จ์ ํ์ ๋๋ ์ง์คํ์ง ๋ชปํด์ ์์ฌ์ด ์ ์๋ฅผ ๋ฐ์๋ค..๐ข
ํ์ง๋ง ๋ค์ ์ง์คํด์ ๋ณธ ๊ฒฐ๊ณผ 697์ !!
https://www.codetree.ai/missions/5/problems/move-in-direction
์ฝ๋ํธ๋ฆฌ | ์ฝ๋ฉํ ์คํธ ์ค๋น๋ฅผ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ ์
๊ตญ๊ฐ๋ํ๊ฐ ๋ง๋ ์ฝ๋ฉ ๊ณต๋ถ์ ๊ฐ์ด๋๋ถ ์ฝ๋ฉ ์์ด๋ณด๋ถํฐ ๊ฟ์ ์ง์ฅ ์ฝํ ํฉ๊ฒฉ๊น์ง, ๊ตญ๊ฐ๋ํ๊ฐ ์์ ํ ์ปค๋ฆฌํ๋ผ์ผ๋ก ์ค๋นํด๋ณด์ธ์.
www.codetree.ai
๋ฐฉํฅ์ ๋ง์ถฐ ์ด๋
๋ฌธ์
(0, 0)์์ ์์ํ์ฌ ์ด N๋ฒ ์์ง์ฌ๋ณด๋ ค๊ณ ํฉ๋๋ค. N๋ฒ์ ๊ฑธ์ณ ์์ง์ด๋ ค๋ ๋ฐฉํฅ๊ณผ ์์ง์ผ ๊ฑฐ๋ฆฌ๊ฐ ์ฃผ์ด์ก์ ๋, ์ต์ข
์์น๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด๋ณด์ธ์.
๋จ, dx, dy ํ
ํฌ๋์ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ฃผ์ธ์.
์ ๋ ฅ ํ์
์ฒซ ๋ฒ์งธ ์ค์ ์ ์ N์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค๋ถํฐ๋ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๊ฐ ์ค๋ง๋ค ์ด๋๋ฐฉํฅ๊ณผ ์ด๋ํ ๊ฑฐ๋ฆฌ๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋๋ค. ๋ฐฉํฅ์ W, S, N, E์ค์ ํ๋์ด๋ฉฐ ๊ฐ๊ฐ ์, ๋จ, ๋ถ, ๋์ชฝ์ผ๋ก ์ด๋ํจ์ ์๋ฏธํฉ๋๋ค.
- 1 ≤ N ≤ 100
- 1 ≤ ํ ๋ฒ์ ์์ง์ด๋ ๊ฑฐ๋ฆฌ ≤ 10
์ถ๋ ฅ ํ์
์ฒซ ๋ฒ์งธ ์ค์ ์ต์ข ์์น x, y๋ฅผ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ถ๋ ฅํฉ๋๋ค.
์ ์ถ๋ ฅ ์์
์์ 1
์ ๋ ฅ:
4
N 3
E 2
S 1
E 2
์ถ๋ ฅ:
4 2
์์ ์ค๋ช
์๋ก 3์นธ, ์ค๋ฅธ์ชฝ์ผ๋ก 2์นธ, ์๋๋ก 1์นธ ์ด๋ ํ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ค์ 2์นธ ์ด๋ํ๋ฉด ์ต์ข ์์น๋ (4, 2)๊ฐ ๋ฉ๋๋ค
์ ํ
์๊ฐ์ ํ: 1000ms
๋ฉ๋ชจ๋ฆฌ ์ ํ: 80MB
ํ์ด
๊ฐ ๋ฐฉํฅ์ ๋ํ x,y ์ขํ ๋ณํ๋ฅผ ๋ฏธ๋ฆฌDictionary๋ก ์ ์ฅ
์ ๋ ฅ๋ฐ์ ๋ฐฉํฅ์ ํด๋นํ๋ x, y ์ขํ ๋ณํ์ ์ด๋ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณฑํ์ฌ ๊ณ์ฐ
์ฝ๋
let direction: [String: (x: Int, y: Int)] = ["N": (0,1), "E": (1,0), "S": (0,-1), "W": (-1,0)]
let n = Int(readLine()!)!
var x = 0, y = 0
for _ in 0..<n {
let input = readLine()!.split(separator: " ").map{String($0)}
let distance = Int(input[1])!
x += (direction[input[0]]?.x ?? 0)*distance
y += (direction[input[0]]?.y ?? 0)*distance
}
print("\(x) \(y)")
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 4์ฃผ์ฐจ - ์์ ํ์ (0) | 2023.10.04 |
---|---|
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 3์ฃผ์ฐจ - ์์ ํ์ (0) | 2023.09.25 |
[์ฝ๋ํธ๋ฆฌ ์ฑ๋ฆฐ์ง] 2์ฃผ์ฐจ - DP (0) | 2023.09.14 |
[์ฝ๋ํธ๋ฆฌ] ์ฝ๋ํธ๋ฆฌ ๋ธ๋ก๊ทธ ์ฑ๋ฆฐ์ง (0) | 2023.09.12 |
[Swift] Escaping Closure (1) | 2023.05.20 |