Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 영상제작기
- Brightics를 이용한 분석
- 노코드AI
- 직원 이직률
- 포스코 아카데미
- 브라이틱스
- 삼성SDS
- 삼성SDS Brightics
- Brightics
- 추천시스템
- 혼공
- 삼성SDS Brigthics
- 직원 이직여부
- 모델링
- 데이터 분석
- 혼공머신러닝딥러닝
- 개인 의료비 예측
- 혼공학습단
- Brigthics
- Brightics Studio
- 삼성 SDS Brigthics
- 삼성 SDS
- 브라이틱스 서포터즈
- Brigthics Studio
- Brigthics를 이용한 분석
- 혼공머신
- 포스코 청년
- 데이터분석
- 캐글
- 팀 분석
Archives
- Today
- Total
데이터사이언스 기록기📚
[프로그래머스/Python] Level 2_n^2 배열 자르기(월간 코드 챌린지 시즌3) 본문
Coding Test/프로그래머스(Python)
[프로그래머스/Python] Level 2_n^2 배열 자르기(월간 코드 챌린지 시즌3)
syunze 2022. 10. 17. 18:36📌문제 유형
월간 코드 챌린지 시즌3
📌문제
📌나의 문제풀이
1차 시도(30.0, 나머지 시간초과)
- 모두 순회하여 i+1, j+1 값 중 max 값 넣기
from itertools import chain
def solution(n, left, right):
arr = [[0] * n for _ in range(n)] # arr 초기화
# arr 값 넣기
for i in range(n): # 가로
for j in range(n): # 세로
arr[i][j] = max(i+1, j+1)
# 2차원 -> 1차원 변형
arr = list(chain(*arr))
# left ~ rigth만 남기고 나머지 삭제
return arr[left : right+1]
2차 시도(동일, deque 사용)
from collections import deque
def solution(n, left, right):
arr = deque()
i,j = 1,1
return list(arr)
# arr 값 넣기
for idx in range(n**2):
if (idx + 1) % n == 0:
arr.append(max(i,j))
j += 1
i = 1
else:
arr.append(max(i,j))
i += 1
arr = list(arr)
# left ~ rigth만 남기고 나머지 삭제
return arr[left : right+1]
3차 시도(통과)
- 잘라서 나타나는 배열만 값 만들기 (이렇게 해야 시간초과 안 생김!)
- 자리 수의 값과 리스트 위치의 관계
- arr[i][j] 중 i : 1차원 배열 인덱스 // n
- arr[i][j] 중 j : 1차원 배열 인덱스 % n
- arr[i][j]의 값 : i,j 중 큰 값 +1
def solution(n, left, right):
arr = []
# arr 값 넣기
for idx in range(left, right+1):
share = idx // n
remain = idx % n
arr.append(max(share+1, remain+1))
return arr
📌다른 사람의 문제풀이
1) 간단 ver
def solution(n, left, right):
answer = []
for i in range(left,right+1):
answer.append(max(i//n,i%n)+1)
return answer
📌리뷰
- 1차원 인덱스 → 2차원 인덱스
- i = 1차원 인덱스 // n
- j = 1차원 인덱스 % n
728x90
'Coding Test > 프로그래머스(Python)' 카테고리의 다른 글
[프로그래머스/Python] Level 2_주차 요금 계산(2022 KAKAO BLIND RECRUITMENT) (0) | 2022.10.30 |
---|---|
[프로그래머스/Python] Level 2_[1차] 뉴스 클러스터링(2018 KAKAO BLIND RECRUITMENT) (0) | 2022.10.28 |
[프로그래머스] Level 2_튜플(2019 카카오 개발자 겨울 인턴십) (0) | 2022.10.14 |
[프로그래머스] Level 2_괄호 회전하기(월간 코드 챌린지 시즌2) (0) | 2022.10.14 |
[프로그래머스] Level 2_행렬의 곱셈(연습문제) (0) | 2022.10.13 |
Comments