일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 카카오
- 백준
- 위클리 챌린지
- divmod
- lambda
- 다익스트라
- 추석맞이 코딩챌린지
- dfs
- BFS
- python
- 파이썬
- Re
- Zip
- 재귀함수
- KAKAO BLIND RECRUITMENT
- 프로그래머스
- 동적 계획법
- 수학
- Combinations
- 자바
- Set
- heapq
- java
- backjoon
- DateTime
- 정규식
- 정렬
- 이분탐색
- programmers
- 그리디
Archives
- Today
- Total
상상쓰
[프로그래머스] n^2 배열 자르기 본문
https://programmers.co.kr/learn/courses/30/lessons/87390
코딩테스트 연습 - n^2 배열 자르기
정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부
programmers.co.kr
[1, 2, 3, 4, ...]
[2, 2, 3, 4, ...]
[3, 3, 3, 4, ...]
[4, 4, 4, 4, ...]
.
.
.
로 진행하는 배열로 규칙을 찾아서 구해주면 된다.
위치를 i 라고 한다면 i 를 n 으로 나누면 i 에 해당하는 행과 열을 구할 수 있다.
위의 규칙으로 봤을 때 해당하는 행과 열의 위치에 있는 값은 max(행, 열) + 1 이라고 할 수 있다.
def solution(n, left, right):
answer = []
for i in range(left, right+1):
answer.append(max(divmod(i, n)) + 1)
return answer
print(solution(3, 2, 5)) # [3,2,2,3]
'Coding Test' 카테고리의 다른 글
[프로그래머스] 11주차_아이템 줍기 (2) | 2021.10.20 |
---|---|
[백준] 집합의 표현 (0) | 2021.10.18 |
[백준] ACM 호텔 (0) | 2021.10.13 |
[프로그래머스] 10주차_교점에 별 만들기 (0) | 2021.10.12 |
[백준] 막대기 (0) | 2021.10.10 |
Comments