개발 블로그
article thumbnail

 

아이디어

(a, b) 칸을 선택하면 해당 칸을 보다 좌, 상 단에 위치한 칸도 같이 뒤집히기 때문에 가장 우하단에 위치한 '뒷면' 동전부터 뒤집어가야 모든 동전을 정확히 앞면으로 만들 수 있다.

 

 

풀이코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

    static int[][] arr;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());

        arr = new int[N][M];
        for (int i = 0; i < N; i++) {
            String input = br.readLine();
            for (int j = 0; j < M; j++) {
                arr[i][j] = input.charAt(j) - '0';
            }
        }

        int cnt = 0;
        for (int i = N - 1; i >= 0; i--) {
            for (int j = M - 1; j >= 0; j--) {
                if (arr[i][j] == 1) {
                    flip(i, j);
                    cnt++;
                }
            }
        }

        System.out.println(cnt);
    }

    public static void flip(int a, int b) {
        for (int i = 0; i <= a; i++) {
            for (int j = 0; j <= b; j++) {
                arr[i][j] = (arr[i][j] + 1) % 2;
            }
        }
    }
}

'Algorithm > 백준 알고리즘' 카테고리의 다른 글

2876번. 그래픽스 퀴즈  (1) 2023.11.01
3085번. 사탕 게임  (0) 2023.11.01
15990번. 1, 2, 3 더하기 5  (0) 2023.10.31
4963번. 섬의 개수  (0) 2023.10.31
14400번. 편의점 2  (1) 2023.10.31
profile

개발 블로그

@하얀.손

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!