[実施]上下左右-swift


コードはSWIFTで記述されている.
自分で書いたコードなので、最適なコードではないかもしれません.🐹
問題は著作権と関係があるかもしれないので、書いていません.
✍🏻 考えを整理する.
最初の私の考えは
箱を上下左右に分けて処理すればいいです.
👩🏻‍💻 コード#コード#

var start = [1,1]
let n = 5
let direction = ["R","R","R","U","D","D"]

for i in direction {
    switch i {
    case "U":
        if start[0] > 1 {
            start[0] -= 1
        }
    case "D":
        if start[0] < n {
            start[0] += 1
        }
    case "L":
        if start[1] > 1 {
            start[1] -= 1
        }
    case "R":
        if start[1] < n {
            start[1] += 1
        }

    default:
        0
    }
}
print(start)
私の草...
実例文を用いて体現した.

var nowX: Int = 1
var nowY: Int = 1
var nx: Int = 1
var ny: Int = 1
let n = 5
let direction = ["R","R","R","U","D","D"]

let dx: [Int] = [0, 0, -1, 1]
let dy: [Int] = [-1, 1, 0, 0]
let moveType = ["L","R","U","D"]

for direct in direction {
    for i in 0..<moveType.count {
        if moveType[i] == direct {
            nx = nowX + dx[i]
            ny = nowY + dy[i]
        }
    }
    // 범위를 넘어가면 좌표 입력을 해주지 않는다.
    if nx < 1 || ny < 1 || nx > n || ny > n {
        continue
    }
    nowX = nx
    nowY = ny
}

print (nowX,nowY)
東彬はPythonコードを参照してください
Pythonとは異なり、nx、nyに対する声明をドアの外で発表しなければならない.
ドアの外に使う.
📚 参考資料
  • これが符号化試験
  • である