hye-log

[SWEA]7272번 안경이 없어!(JAVA) 본문

CodingTest/SWEA

[SWEA]7272번 안경이 없어!(JAVA)

iihye_ 2023. 7. 29. 17:39

0. 문제 링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWl0ZQ8qn7UDFAXz 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

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