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 | 29 |
30 | 31 |
Tags
- 자료구조
- 갓생
- background script
- 2156
- TypeScript
- popup
- Message Passing
- content script
- 동적계획법
- 백준 #7568번 #파이썬 #동적계획법
- 크롬 확장자
- 디스코드 봇
- 프로그래머스 #정수삼각형 #동적계획법
- 캠스터디
- supabase
- 크롬 익스텐션
- nodejs
- 포도주시식
- 파이썬
- Chrome Extension
- C언어로 쉽게 풀어쓴 자료구조
- discord.js
- X
- 백준 7579
- 백준
- webpack
- 공부시간측정어플
- react
Archives
- Today
- Total
히치키치
[백준] 17829번 : 222-풀링 - Python(파이썬) 본문
17829번: 222-풀링
조기 졸업을 꿈꾸는 종욱이는 요즘 핫한 딥러닝을 공부하던 중, 이미지 처리에 흔히 쓰이는 합성곱 신경망(Convolutional Neural Network, CNN)의 풀링 연산에 영감을 받아 자신만의 풀링을 만들고 이를 22
www.acmicpc.net
풀이
- 분할 정복
- 인덱싱으로 나눠 재귀적으로 구현하는 것이 포인트
코드
# 문제 : https://www.acmicpc.net/problem/17829
import sys
input=sys.stdin.readline
def pooling(array,n):
if n==1:
return array[0][0]
else:
new_=[[] for _ in range(n//2)]
for i in range(0,n,2):
for j in range(0,n,2):
new_[i//2].append(sorted([array[i][j],array[i+1][j],array[i][j+1],array[i+1][j+1]])[2])
return pooling(new_,n//2)
N=int(input())
array=[list(map(int,input().split())) for _ in range(N)]
print(pooling(array,N))
헷갈렸던 점
#(1)여러줄 입력받고 한줄씩 리스트로 묶어 2차원 리스트로 저장
array=[list(map(int,input().split())) for _ in range(N)]
#(2)sorted([리스트])[X] : 리스트의 요소를 내림차순으로 나열하고 X번째 수
#(3)새로 생기는 사이즈 축소된 배열 : row잡고 거기에 요소 한개씩 추가
for i in range(0,n,2):
for j in range(0,n,2):
new_[i//2].append(sorted([array[i][j],array[i+1][j],array[i][j+1],array[i+1][j+1]])[2])
'알고리즘 스터디' 카테고리의 다른 글
[백준] 1339번 : 단어수학 - Python(파이썬) (0) | 2021.03.22 |
---|---|
[백준] 2630번 : 색종이 만들기 - Python(파이썬) (0) | 2021.03.22 |
[백준] 2293번 : 동전 1 - Python(파이썬) (0) | 2021.03.04 |
[프로그래머스] 정수 삼각형 - Python(파이썬) (0) | 2021.03.03 |
[백준] 2156번 : 포도주 시식 - Python(파이썬) (0) | 2021.03.01 |
Comments