[実施]上下左右-swift
10089 ワード
コードはSWIFTで記述されている.
自分で書いたコードなので、最適なコードではないかもしれません.🐹
問題は著作権と関係があるかもしれないので、書いていません.
✍🏻 考えを整理する.
最初の私の考えは
箱を上下左右に分けて処理すればいいです.
👩🏻💻 コード#コード#
実例文を用いて体現した.
Pythonとは異なり、nx、nyに対する声明をドアの外で発表しなければならない.
ドアの外に使う.
📚 参考資料これが符号化試験 である
自分で書いたコードなので、最適なコードではないかもしれません.🐹
問題は著作権と関係があるかもしれないので、書いていません.
✍🏻 考えを整理する.
最初の私の考えは
箱を上下左右に分けて処理すればいいです.
👩🏻💻 コード#コード#
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に対する声明をドアの外で発表しなければならない.
ドアの外に使う.
📚 参考資料
Reference
この問題について([実施]上下左右-swift), 我々は、より多くの情報をここで見つけました https://velog.io/@sso0022/구현-상하좌우-swiftテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol