본문 바로가기
알고리즘

[백준/JAVA] 1100. 하얀칸

by 상후 2022. 4. 4.
728x90
반응형

 

 

https://github.com/ROUTINE-STUDY/Algorithm

알고리즘 스터디를 진행하고 있습니다. 😊
초보들로 구성되어있으며, 열심히 풀어보고 풀이 방식을 공유하고 피드백을 해주는 스터디입니다.
참여 문의는 댓글 혹은 GitHub 주소를 참고해주세요.

문제 출처 : https://www.acmicpc.net/problem/1100

 

1100번: 하얀 칸

체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램

www.acmicpc.net

출처 : 백준

 

내 코드(JAVA)

 

public class Solution {

    public static void main(String[] args) throws IOException {
        try (final BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            final int boardSize = 8;
            String[] chessBoard = new String[boardSize];
            int result = 0;

            for (int i = 0; i < chessBoard.length; i++) {
                chessBoard[i] = br.readLine();
            }

            for (int i = 0; i < chessBoard.length; i++) {
                char[] row = chessBoard[i].toCharArray();
                int whitePoint = (i % 2 == 0) ? 0 : 1;

                for (int j = whitePoint; j < row.length; j += 2) {
                    if (row[j] == 'F') result++;
                }
            }

            System.out.print(result);
        }
    }

}

 

스터디 피드백 내용
시간복잡도 : O(nm)
문자배열을 만들지 않고 String[i].charAt(j) 활용하여 개선 가능

 

 

 

 

728x90
반응형

댓글