inblog logo
|
LHS's Study Space
    알고리즘문제풀기프로그래머스

    [프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸(250125)

    lhs's avatar
    lhs
    Dec 08, 2024
    [프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸(250125)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/250125
     

    1. 문제 풀이 아이디어

    • 문제에 주어진 의사코드를 활용하여 해결할 수 있다.

    2. 나의 정답 코드

    class Solution { public int solution(String[][] board, int h, int w) { int answer = 0; int[][] dir = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; for (int i = 0; i < 4; i++) { int nx = h + dir[i][0]; int ny = w + dir[i][1]; if (nx < 0 || ny < 0 || nx >= board.length || ny >= board[0].length) { continue; } if (board[nx][ny].equals(board[h][w])) answer++; } return answer; } }

    3. 정리

    • 상하좌우의 방향을 나타내는 값을 dir 2차원 배열에 저장한다.
    • 다음 위치의 좌표를 nx와 ny로 계산한 뒤, 해당 좌표가 범위를 벗어나면 넘어간다.
    • nx, ny 위치의 board 값과 h, w 위치의 board 값이 같으면 answer를 증가시킨다.
    • 이 과정을 반복하여 문제를 해결한다.
    Share article
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog