김찬양의 개발일지
1일차. [PCCE 기출문제] 9번 / 이웃한 칸 본문
https://school.programmers.co.kr/learn/courses/30/lessons/250125
문제
각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다.
보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요.
해결법: 중앙을 기준으로 위 아래 왼쪽 오른쪽이기 때문에 h와 w에 각각 1과 -1씩 빼가면서 board[h][w]와 비교한 값을 int로 변경하여 더하면 된다.
def solution(board, h, w):
answer = 0
n = len(board)
color = board[h][w]
dh = [0, 1, -1, 0]
dw = [1, 0, 0, -1]
for i in range(0,4):
hc = h+dh[i]
wc = w+dw[i]
if 0 <= hc < n and 0 <= wc < n:
answer += int(color==board[hc][wc])
return answer
'코딩테스트 > Programmers Level 1' 카테고리의 다른 글
6일차. 개인정보 수집 유효기간 (1) | 2023.11.29 |
---|---|
5일차. 둘만의 암호 (0) | 2023.11.28 |
4일차. 카드 뭉치 (0) | 2023.11.27 |
3일차. 대충 만든 자판 (2) | 2023.11.26 |
2일차. [PCCE 기출문제] 10번 / 데이터 분석 (0) | 2023.11.25 |