문제 링크
다른 풀이
def solution(n, left, right):
result = []
for i in range(left, right+1):
# left ~ right 사이의 숫자를 n으로 나누면
# 몫은 y(index) 좌표를
# 나머지는 x(index) 좌표를 알 수 있다.
y, x = i//n, i%n
# 넣을 값은 (y,x 좌표중 큰 값) + 1
# [0][0]=1 [0][1]=2 [0][2]=3 [0][3]=4
# [1][0]=2 [1][1]=2 [1][2]=3 [1][3]=4
# [2][0]=3 [2][1]=3 [2][2]=3 [2][3]=4
# [3][0]=4 [3][1]=4 [3][2]=4 [3][3]=4
value = max(y,x) + 1
result.append(value)
return result
출처: https://1ets-just-do-it.tistory.com/144 [파이썬은 신이야🔥🔥🔥:티스토리]
풀이 해석
- left~right 사이의 수를 n으로 나누면 몫은 행 나머지는 열의 인덱스값을 알 수 있다.
이때 행열 인덱스 값중 큰값의 +1값이 value값이므로 이를 리스트에 append한다
배울 점
- 일렬로 나열한 행렬에서 특정 인덱스를 n으로 나눈 몫과 나머지는 행과 열로 표현된다
- max 함수의 이용
댓글남기기