반응형
250x250
Notice
Recent Posts
Recent Comments
Link
DecordRay
[프로그래머스] Level2 : n^2 배열 자르기[Python] 본문
728x90
반응형
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/87390
제한사항
- 1 ≤ n ≤ 10^7
- 0 ≤ left ≤ right < n^2
- right - left < 10^5
풀이 :
1. 첫번째 제한사항을 통해 배열에 모든 값을 넣는 것이 의도가 아님을 파악 -> 모든 값을 넣는다면 시간초과가 날 것
2. 세번째 제한사항을 통해 right-left만큼 반목문을 통해서 원하는 값들만 저장하면 될 것이라고 생각
3. 문제의 예시 애니메이션을 통해 배열 값을 확인해보면 알 수 있는 것처럼
좌표값(x-가로축,y-세로축) | 0 | 1 | 2 |
0 | 1 -> max(0,0) + 1 | 2 -> max(1,0) + 1 | 3 -> max(2,0) + 1 |
1 | 2 -> max(0,1) + 1 | 2 -> max(1,1) + 1 | 3 -> max(2,1) + 1 |
2 | 3 -> max(0,2) + 1 | 3 -> max(1,2) + 1 | 3 -> max(2,2) + 1 |
max(x,y)좌표값 + 1 을 해준 값이 각 좌표에 들어있는 값임을 알 수 있다.
코드 :
def solution(n, left, right):
answer = []
for i in range(left,right+1):
row = i // n
col = i % n
answer.append(max(row,col)+1)
return answer
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level2 : 전화번호 목록[Python] (0) | 2023.01.13 |
---|---|
[프로그래머스] Level2 : [1차] 뉴스 클러스터링[Python] (0) | 2023.01.13 |
[프로그래머스] Level2 : 프린터[Python] (0) | 2023.01.11 |
[프로그래머스] Level2 : 튜플[Python] (0) | 2023.01.10 |
[프로그래머스] Level2 : 위장[Python] (0) | 2023.01.09 |
Comments