[D3] 체스판 위의 룩 배치 - 15612
성능 요약
메모리: 20,940 KB, 시간: 147 ms, 코드길이: 1,211 Bytes
제출 일자
2023-10-21 10:19
출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do
import java.util.*;
import java.io.*;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
Set<Integer> set;
boolean result;
int arr[];
int count = 0;
int T = sc.nextInt();
for(int tc = 1; tc <= T; tc++)
{
set = new HashSet<>();
arr = new int[9];
count = 0;
result = true;
for(int i = 1; i <= 8; i++){
String line = sc.next();
for(int j = 1; j <= 8; j++){
char ch = line.charAt(j-1);
if(ch == 'O'){
if(arr[j] != 0){
result = false;
}
arr[j] = i;
count++;
}
}
}
for(int i = 1; i <= 8; i++){
int n = arr[i];
if(set.contains(n) || n == 0){
result = false;
}
set.add(n);
}
System.out.println("#" + tc + " " + (result?"yes":"no"));
}
}
}
코드개선
import java.util.*;
import java.io.*;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
boolean arr[][];
String result;
int count;
int T = sc.nextInt();
for(int tc = 1; tc <= T; tc++)
{
arr = new boolean[2][8];
count = 0;
result = "yes";
for(int i = 0; i < 8; i++){
String line = sc.next();
for(int j = 0; j < line.length(); j++){
if(line.charAt(j) == 'O'){
if(arr[0][i] || arr[1][j]){
result = "no";
break;
}
arr[0][i] = arr[1][j] = true;
count++;
}
}
}
if(count != 8){
result = "no";
}
System.out.println("#" + tc + " " + result);
}
}
}
'알고리즘 - SWEA > D3' 카테고리의 다른 글
[SW expert Academy] SWEA 14692번 통나무 자르기 자바(Java) (1) | 2023.10.21 |
---|---|
[SW expert Academy] SWEA 15230번 알파벳 공부 자바(Java) (0) | 2023.10.21 |
[SW expert Academy] SWEA 15758번 무한 문자열 자바(Java) (0) | 2023.10.21 |
[SW expert Academy] SWEA 15941번 평행사변형 자바(Java) (0) | 2023.10.21 |
[SW expert Academy] SWEA 16002번 합성수 방정식 자바(Java) (0) | 2023.10.21 |