-
[코테준비] Python 해커랭크(HackerRank) 문제풀이 - 4 (2D Array)기초 튼튼/코테준비 2020. 6. 1. 21:24
* 코딩인터뷰시 기업들에서 널리 활용중인 해커랭크(HackerRank)의 Python 문제 정리.
1. 문제



- 2차원 배열을 다루는 문제입니다. NxN로 구성되어있는 2차원 어레이에서 3x3 단위의 매트릭스 내의 숫자의 합 중 가장 큰 합을 반환하는 문제
- 정확히는 3x3 내의 [2,1] 위치의 벨류값과 [2,3] 위치의 벨류값을 제외한 값들의 합을 반환하는 문제입니다.
2. 정답

def hourglassSum(arr): width = len(arr[0]) - 2 length = len(arr[1]) - 2 maxSum = -9999 for i in range(0,width): for j in range(0,length): sumTemp = 0 for x in range(0,3): if x == 1: sumTemp = sumTemp + arr[i+x][j+1] continue sumTemp = sumTemp + arr[i+x][j] + arr[i+x][j+1] + arr[i+x][j+2] if maxSum <= sumTemp: maxSum = sumTemp return maxSum- 주어진 전체 매트릭스를 첫 3x3부터 마지막 3x3까지 순차적으로 돌며 합을 모두 비교하는 코드를 작성했습니다.
- maxSum의 초기화를 -9999로 한 이유는 매트릭스의 모든 벨류값들이 마이너스로 구성되어있는 경우, 0으로 초기화했을 때 최대값이 적절히 출력되지 않기 때문입니다.
3. 결과

해커랭크(HackerRank)의 Python for Interview'를 풀며 정리한 글입니다.
부족한 블로그에 방문해 주셔서 감사합니다.
잘못된 내용 수정 피드백은 댓글로 적어주세요.
감사합니다 :-)
반응형'기초 튼튼 > 코테준비' 카테고리의 다른 글
[코테준비] BOJ에서 입출력에서 readline()과 input()의 EOF 입력시 차이점 (0) 2020.12.15 [코테준비] Java에서 BufferReader와 BufferWriter 활용 입출력 (0) 2020.09.18 [코테준비] Python 해커랭크(HackerRank) 문제풀이 - 3 (Jumping on the Clouds) (0) 2020.05.22 [코테준비] Python 해커랭크(HackerRank) 문제풀이 - 2 (Counting Valleys) (0) 2020.05.21 [코테준비] Python 해커랭크(HackerRank) 문제풀이 - 1 (Socks Merchant) (0) 2020.05.19 - 2차원 배열을 다루는 문제입니다. NxN로 구성되어있는 2차원 어레이에서 3x3 단위의 매트릭스 내의 숫자의 합 중 가장 큰 합을 반환하는 문제