코드

//1 가위   2 바위   3 보
public class 가위바위보 {
	//메인 컨셉 , 한쪽으로 이기는 경우의 수만 나열한다.
	//그러면 나머지는 반대 쪽이 이기는 것이다.
	public static void main(String[] args) {
		StringBuilder sb = new StringBuilder();
		int[] a= {1,1,2,3,2,3};
		int[] b= {3,2,1,1,2,3};
		        //A,B,A,B,D,D
		for(int i=0;i<a.length;i++) {
			//비김
			if(a[i]==b[i]) sb.append("D");
			//A가 이기는 경우의 수 전부 나열
			else if(a[i]==1 && b[i]==3 ) sb.append("A");
			else if(a[i]==2 && b[i]==1 ) sb.append("A");
			else if(a[i]==3 && b[i]==2 ) sb.append("A");
			//이외는 B가 이긴 것
			else sb.append("B"); 
		}
		System.out.println(sb);
	}
}

여기서 핵심은 가위바위보가 아니라,  한 쪽에 치우진 경우의 수를 정의하고 그 외 경우는 그와 반대로 처리한다는 이 구조이다.

'자료구조&알고리즘 > 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비' 카테고리의 다른 글

숫자뒤집기  (0) 2022.11.10
봉우리  (0) 2022.11.09
등수구하기  (0) 2022.11.05
문자뒤집기  (0) 2022.11.03
큰수출력하기  (0) 2022.10.26

+ Recent posts