๐ŸŒžAlgorithm/๐Ÿ”ฅprogrammers

[programmers] ์•ˆ์ „์ง€๋Œ€

๋ฟŒ์•ผ._. 2026. 9. 9. 12:12
๋ฌธ์ œ
https://school.programmers.co.kr/learn/courses/30/lessons/120866
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 


< ์•ˆ์ „์ง€๋Œ€ >

 

๋ฌธ์ œ ํ’€์ด (Java)

class Solution {
	public int solution(int[][] board) {
		int answer = 0;

		int dx[] = { -1, 1, 0, 0, -1, -1, 1, 1 };
		int dy[] = { 0, 0, -1, 1, -1, 1, -1, 1 };

		for (int i = 0; i < board.length; i++) {
			for (int j = 0; j < board[i].length; j++) {
				if (board[i][j] == 1) {
					for (int k = 0; k < 8; k++) {
						int x = i + dx[k];
						int y = j + dy[k];
						if (x >= 0 && x < board.length && y >= 0 && y < board[i].length && board[x][y] == 0) {
							board[x][y] = 2;
						}
					}
				}
			}
		}

		for (int i = 0; i < board.length; i++) {
			for (int j = 0; j < board[i].length; j++) {
				if (board[i][j] == 0) {
					answer += 1;
				}
			}
		}

		return answer;
	}
}

 

 

์ง€๋„๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ง€๋ขฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ƒ, ํ•˜, ์ขŒ, ์šฐ, ๋Œ€๊ฐ์„ ์„ ์œ„ํ—˜์ง€์—ญ์œผ๋กœ ์ง€์ •ํ•œ๋‹ค. ์ตœ์ข… ์ง€๋„๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์•ˆ์ „ํ•œ ์ง€์—ญ์„ ๊ตฌํ•œ๋‹ค.



 

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต, 
https://school.programmers.co.kr/learn/challenges