728x90
✅ 문제 요약
스페이드 다이아 하트 클로버 4 문양에 각각 1번부터 13번까지 총 52개의 카드가 있다고 하고
이것을 하나의 완성된 덱이라고 할 때
영준이가 현재 가지고있는 카드들이 입력으로 주어지고 완성된 덱을 만들기 위해 각 문양별로
필요한 카드 개수를 출력하라
🤔 문제 풀이
문양별로 4개의 크기가 14인 (1~13을 위한) 배열을 만들어주었다.
입력 문자열을 보면 (문양, 숫자첫째자리, 숫자둘째자리) 가 주어지는데
입력 문자열은 반드시 3의 배수 길이만큼 주어지기 때문에 반복문을 통해
각 카드 정보의 첫 시작점 i를 받고 info[i] = 무늬, info[i+1]은 숫자첫째자리, info[i+2]는 숫자 둘째자리로
입력 정보를 활용했다.
숫자 같은 경우 반드시 두자리로 받으며 일의 자리 수 같은 경우에 숫자첫째자리가 0이 입력되므로
char형식으로 받은 뒤 StringBuilder에 넣고 int형으로 변환시켜 주었다.
현재 가지고 있는 카드 무늬를 파악하고 해당 무늬 배열[카드숫자]의 값을 1 증가시켜주었다.
만약 이미 1인 경우에는 동일한 카드를 2장 가지고 있는 것이기 때문에 ERROR을 출력해주었다.
🚨CODE
import java.util.*;
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int testCase = Integer.parseInt(br.readLine());
for (int t = 1; t <= testCase; t++) {
char[] info = br.readLine().toCharArray();
int[] s = new int[14];
int[] d = new int[14];
int[] h = new int[14];
int[] c = new int[14];
boolean isError = false;
for(int i = 0; i<info.length; i+=3) {
StringBuilder sb = new StringBuilder();
char shape = info[i];
sb.append(info[i+1]).append(info[i+2]);
int num = Integer.parseInt(sb.toString());
if(shape == 'S') {
if(s[num] == 1) {
isError = true;
break;
}
s[num]++;
}else if(shape == 'D') {
if(d[num] == 1) {
isError = true;
break;
}
d[num]++;
}else if(shape == 'H') {
if(h[num] == 1) {
isError = true;
break;
}
h[num]++;
}else {
if(c[num] == 1) {
isError = true;
break;
}
c[num]++;
}
}
if(isError) {
bw.write(String.format("#%d ERROR\n", t));
}else {
int scount = 13; int dcount = 13; int hcount = 13; int ccount = 13;
for(int i = 1; i<=13; i++) {
scount -= s[i];
dcount -= d[i];
hcount -= h[i];
ccount -= c[i];
}
bw.write(String.format("#%d %d %d %d %d\n", t, scount, dcount, hcount, ccount));
}
} // testcase
bw.flush();
}
}
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[JAVA-D3] SWEA 1229 - 암호문 2 (0) | 2024.05.03 |
---|---|
[JAVA-D3] SWEA 5789 - 현주의 상자 바꾸기 (0) | 2024.05.03 |
[JAVA-D3] SWEA 9280 - 진용이네 주차타워 (0) | 2024.05.03 |
[JAVA-D3] SWEA 3499 - 퍼펙트 셔플 (1) | 2024.05.01 |
[JAVA-SW_TEST_SAMPLE] SWEA 1767 - 프로세서 연결하기 (0) | 2024.05.01 |