We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 72f5719 commit 353a927Copy full SHA for 353a927
Programmers/삼각 달팽이.swift
@@ -0,0 +1,36 @@
1
+import Foundation
2
+
3
+func solution(_ n:Int) -> [Int] {
4
+ var map = Array(repeating: Array(repeating: 0, count: n+1), count: n+1)
5
+ var dy = [1, 0, -1]
6
+ var dx = [0, 1, -1]
7
+ var dPointer = 0
8
+ var y = -1
9
+ var x = 0
10
+ var nCount = n
11
+ var num = 1
12
13
+ // 달팽이 채우기
14
+ while nCount >= 1 {
15
+ for i in 0..<nCount {
16
+ y += dy[dPointer]
17
+ x += dx[dPointer]
18
+ map[y][x] = num
19
+ num += 1
20
+ }
21
+ nCount -= 1
22
+ dPointer = (dPointer + 1) % 3
23
24
25
+ // 새로운 배열 만들기
26
+ var answer: [Int] = []
27
+ for i in 0..<n {
28
+ for j in 0..<n {
29
+ if map[i][j] != 0 {
30
+ answer.append(map[i][j])
31
32
33
34
35
+ return answer
36
+}
0 commit comments