Notice
Recent Posts
Link
- Today
- Total
hye-log
[SWEA]7272번 안경이 없어!(JAVA) 본문
0. 문제 링크
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWl0ZQ8qn7UDFAXz
1. 문제 설명
1) 두 문자열을 비교
2) 문자에 나 있는 구멍의 개수가 같으면 같은 문자, 다르면 다른 문자
2. 입출력
// input
5
ABCD EFGH
ABCD PBZO
PRQO OQAD
ZXCV HJKL
BBBB BBB
// output
#1 DIFF
#2 SAME
#3 SAME
#4 SAME
#5 DIFF
3. 코드
import java.util.*;
public class swea7272 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 입력
int T = sc.nextInt(); // 테스트케이스의 개수
for(int t = 1; t <= T; t++) {
char[] arr_a = (sc.next()).toCharArray(); // 왼쪽 문자열 받기
char[] arr_b = (sc.next()).toCharArray(); // 오른쪽 문자열 받기
String ans = "SAME"; // 정답
// 문자열 체크
if(arr_a.length == arr_b.length) { // 길이가 같으면
for(int i = 0; i < arr_a.length; i++) {
int a = -1;
int b = -1;
// 왼쪽 문자열 변환
switch(arr_a[i]) {
case 'B':
a = 2;
break;
case 'A': case 'D': case 'O': case 'P': case 'Q': case 'R':
a = 1;
break;
default:
a = 0;
break;
}
// 오른쪽 문자열 변환
switch(arr_b[i]) {
case 'B':
b = 2;
break;
case 'A': case 'D': case 'O': case 'P': case 'Q': case 'R':
b = 1;
break;
default:
b = 0;
break;
}
// 두 문자열이 다르면
if(a != b) {
ans = "DIFF";
break;
}
}
} else { // 길이가 다르면
ans = "DIFF";
}
// 출력
System.out.printf("#%d %s\n", t, ans);
}
}
}
실행 결과
4. 회고
switch를 사용하여 해결하였는데, replace를 사용하여 해결할 수도 있음
5. Github
https://github.com/iihye/Algorithm/blob/main/SWEA/swea7272.java
728x90
'CodingTest > SWEA' 카테고리의 다른 글
[SWEA]1940번 가랏! RC카!(JAVA) (0) | 2023.07.30 |
---|---|
[SWEA]1974번 스도쿠 검증(JAVA) (0) | 2023.07.30 |
[SWEA]1208번 Flatten(JAVA) (0) | 2023.07.30 |
[SWEA]1234번 비밀번호(JAVA) (0) | 2023.07.29 |
[SWEA]2805번 농작물 수확하기(JAVA) (0) | 2023.07.29 |
Comments