https://school.programmers.co.kr/learn/courses/30/lessons/87390
- 나의 풀이
# n^2 배열 자르기
def solution(n, left, right):
array = [[0] * n for _ in range(n)]
for i in range(n):
for j in range(n):
if j <= i:
array[i][j] += i+1
else:
array[i][j] += j+1
flatten = []
for i in array:
flatten += i
answer = flatten[left: right+1]
return answer
또 시간 초과가 나버림....
- 다른 풀이
def solution(n, left, right):
answer = []
for i in range(left, right + 1):
answer.append(max(i // n, i % n) + 1)
return answer
해당 위치 값 = max(해당 위치 // n, 해당 위치 % n) + 1
인덱스의 몫과 나머지만으로 위치를 찾는 방법이 있다는 걸 찾았음...
이런 건 도대체 어떻게 생각하는 걸까...ㅎㅎ
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Python] 모의 고사 (0) | 2022.12.23 |
---|---|
[Python] 소수 찾기 (0) | 2022.12.21 |
[Python] 최고의 집합 (1) | 2022.12.19 |
[Python] 기능 개발 (0) | 2022.12.18 |
[Python] 이중 우선순위 큐 (0) | 2022.12.09 |