코린이의 소소한 공부노트

[LeetCode/Easy] 1812. Determine Color of a Chessboard Square 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 1812. Determine Color of a Chessboard Square

무지맘 2023. 1. 4. 23:20

1. Input

1) 문자열 coordinates

- 체스판의 좌표 a1 ~ h8 중 하나를 나타낸다.

 

2. Output

1) 해당 칸이 흰색이면 true, 검정색이면 false를 반환

- 가로축: a ~ h

- 세로축: 1 ~ 8

- a1이 원점에 해당되는 위치

- a1부터 h1까지는 검, 흰이 반복된다.

- a2부터 h2까지는 흰, 검이 반복된다.

- 위의 두 줄이 반복되며 a8~h8까지 체스판이 채워진다.

 

3. Constraint

1) coordinates.length == 2

2) 'a' <= coordinates[0] <= 'h'

3) '1' <= coordinates[1] <= '8'

 

4. Example

Input: coordinates = "a1" -> Output: false

설명: a1은 검정색이므로 false를 반환한다.

 

5. Code

1) 첫 코드(2022/06/14)

if(coordinates.charAt(0)%2 == 1){ // a,c,e,g
    if(coordinates.charAt(1)%2 == 1) return false;
    else return true;
} else{ // b,d,f,h
    if(coordinates.charAt(1)%2 == 1) return true;
    else return false;
}

2) return문을 1개만 쓰면서 좀더 간결하게 바꿔본 코드(2023/01/04)

boolean answer = true;
if(coordinates.charAt(0)%2 == 1){ // a,c,e,g
    if(coordinates.charAt(1)%2 == 1) answer = false;
} else{ // b,d,f,h
    if(coordinates.charAt(1)%2 == 0) answer = false;
}
return answer;

  - 실행시간은 큰 차이가 없었고, boolean 변수를 하나 생성해서 그런지 메모리만 더 잡아먹었다.