코드는 Swift로 작성하였습니다.
제가 직접 작성한 코드라 최적의 코드가 아닐 수 있음을 알려드립니다. 🐹
문제는 저작권 관련 문제가 있을 수 있어서 적어두지 않았습니다.
처음 나의 생각
총 8가지 경우가 있고 이 경우에 대해서 다 확인해주면서
범위를 벗어나지 않으면 count를 늘려주면 되겠다 !
let location = [2,3]
var count = 0
let changeX = [1,1,2,2,-1,-1,-2,-2]
let changeY = [2,-2,1,-1,2,-2,1,-1]
for i in 0..<8 {
if (location[0] + changeX[i] > 0) && (location[1] + changeY[i] > 0)
&& (location[0] + changeX[i] < 9) && (location[1] + changeY[i] < 9) {
count += 1
}
}
print(count)
이건 나의 풀이
let row = 2
let column = 3
var nextRow = 0
var nextColumn = 0
let steps = [(-2,-1),(-1,-2),(1,-2),(2,-1),(2,1),(1,2),(-1,2),(-2,1)]
var result = 0
for step in steps {
// swift 튜플은 .숫자 이런식으로 값을 가져온다
nextRow = row + step.0
nextColumn = column + step.1
if nextRow >= 1 && nextRow <= 8 && nextColumn >= 1 && nextColumn <= 8 {
result += 1
}
}
print(result)
동빈님 파이썬 코드 변경한 풀이