mun dev

[COS PRO 1급] 3-3 비숍으로부터 도망쳐 자바(Java) 본문

알고리즘/COS PRO 1급

[COS PRO 1급] 3-3 비숍으로부터 도망쳐 자바(Java)

mndev 2023. 11. 28. 18:48

문제링크

 

구름HOME

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

문제유형

solution 함수 작성

 

문제

// 다음과 같이 import를 사용할 수 있습니다.
import java.util.*;

class Main {
    public int solution(String[] bishops) {
        // 여기에 코드를 작성해주세요.
        int answer = 0;
        return answer;
    }

 

문제 풀이

// 다음과 같이 import를 사용할 수 있습니다.

import java.util.*;

class Main {
    public int solution(String[] bishops) {
        // 여기에 코드를 작성해주세요.
        int answer = 0;
        int map[][] = new int[8][8];
        int x, y;
        for (int i = 0; i < bishops.length; i++) {
            x = bishops[i].charAt(0) - 'A';
            y = (bishops[i].charAt(1) - '0') - 1;


            map[y][x] = 1;
            int tmpX = x, tmpY = y;
            int dir = 0;

            while (dir < 4) {
                x = tmpX;
                y = tmpY;
                while (dir == 0 && x > 0 && y > 0) map[--y][--x] = 1;
                while (dir == 1 && x > 0 && y < 7) map[++y][--x] = 1;
                while (dir == 2 && x < 7 && y > 0) map[--y][++x] = 1;
                while (dir == 3 && x < 7 && y < 7) map[++y][++x] = 1;
                dir++;
            }

            answer = map.length * map[0].length;
            for (int j = 0; j < map.length; j++) {
                for (int k = 0; k < map.length; k++) {
                    if (map[j][k] == 1) answer--;
                }
            }
        }
        return answer;

    }
  }