(Array)가위바위보/피보나치수열

-·2023년 12월 11일
0

Inflearn-basicTest

목록 보기
8/27

가위바위보

✏️ 문제

* 설명
A, B 두 사람이 가위바위보 게임을 합니다. 
총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 
비길 경우에는 D를 출력합니다.
가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다.
예를 들어 N=5이면
두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를
누가 이겼는지 출력하는 프로그램을 작성하세요.

* 입력
첫 번째 줄에 게임 횟수인 자연수 N(1<=N<=100)이 주어집니다.
두 번째 줄에는 A가 낸 가위, 바위, 보 정보가 N개 주어집니다.
세 번째 줄에는 B가 낸 가위, 바위, 보 정보가 N개 주어집니다.

* 출력
각 줄에 각 회의 승자를 출력합니다. 비겼을 경우는 D를 출력합니다.

🔍풀이

public char[] solution(int n, int[] a, int[] b) {
    char[] answer = new char[n];
    for (int i = 0; i < n; i++) {
        if (a[i] == b[i]) answer[i] = 'D';
        else if (a[i] == 1 && b[i] == 3) answer[i] = 'A';
        else if (a[i] == 2 && b[i] == 1) answer[i] = 'A';
        else if (a[i] == 3 && b[i] == 2) answer[i] = 'A';
        else answer[i] = 'B';
    }
        return answer;
}

피보나치 수열

✏️ 문제

* 설명
1) 피보나키 수열을 출력한다. 
피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.
2) 입력은 피보나치 수열의 총 항의 수 이다. 
만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.

* 입력
첫 줄에 총 항수 N(3<=N<=45)이 입력된다.

* 출력
첫 줄에 피보나치 수열을 출력합니다.

🔍풀이

public int[] solution(int n) {
    int[] answer = new int[n];
    answer[0] = 1;
    answer[1] = 1;
    
    for(int i = 2; i < n; i++){
    	answer[i] = answer[i-1] + answer[i-2];
    }
        return answer;
}

배열 사용하지 않고 풀어보기

public void solution(int n){
	int a=1, b=1, c;
    System.out.print(a +" " + b)
    for(int i = 2; i < n; i++){
    	c = a + b
        a = b;
        b = c;
    	System.out.print(" " + c)
    }
}
profile
신입 개발자의 개인 공부 공간입니다

0개의 댓글