n^2 배열 자르기
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 첫 풀이
- fail: 시간 초과
- 2중 for문만 돌아도 시간 초과가 나는 것을 확인하고 for문 한 번에 풀수 있는 풀이를 생각함
- fail: 시간 초과
def solution(n, left, right):
ls=[[0]*n for _ in range(n)]
for i in range(n):
for j in range(n):
ls[i][j]=max(i+1,j+1)
re=[]
for i in range(n):
re+=ls[i]
return re[left:right+1]
- 두 번째 풀이
- 새로 이어붙인 1차원 배열의 인덱스 값이 i일때
- 그 안에 들어갈 값은 i를 n으로 나눈 (몫+1) 과 (나머지+1) 중 큰 값
- max(i//n+1, i%n+1)
def solution(n, left, right):
ls=[]
for i in range(left,right+1):
ls.append(max(i//n+1, i%n+1))
return ls'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] [Level 3] [해시] 베스트 앨범 (0) | 2022.10.06 |
|---|---|
| [프로그래머스] [Level 2] [2018 KAKAO BLIND RECRUITMENT 1차] 뉴스 클러스터링 (0) | 2022.09.27 |
| [프로그래머스] [Level 2] [2018 KAKAO BLIND RECRUITMENT] [캐시] 1차 캐시 (0) | 2022.09.12 |
| [프로그래머스] [Level 2] 이진 변환 반복하기 (0) | 2022.09.12 |
| [프로그래머스] [Level 2] [DFS/BFS] 게임 맵 최단거리 (0) | 2022.09.10 |