Java 코딩테스트 공부/Java 알고리즘 공부

자바 배열 파트 알고리즘1 / 7월 12일

daramG 2022. 7. 12. 17:54

섹션 2. Array(1, 2차원 배열)

7월 12일
1. 큰 수 출력하기 03 : 05
2. 보이는 학생 07 : 59
3. 가위바위보 07 : 44

 

큰 수 출력하기

문제

자신의 바로 앞 수보다 큰 수만 출력

 

import java.util.*;
class Main {
	public ArrayList<Integer> solution(int n, int[] arr) {
		ArrayList<Integer> answer = new ArrayList<>();
		answer.add(arr[0]);
		for(int i=1; i<n; i++) {
			if (arr[i-1] < arr[i]) answer.add(arr[i]);
		}
		return answer;
	}

	public static void main(String[] args) {
		Main T = new Main();
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] arr = new int[n];
		for (int i=0; i<n; i++) {
			arr[i] = sc.nextInt();
		}
		for (int x : T.solution(n, arr)) {
			System.out.print(x + " ");
		}
	}
}

 

 

보이는 학생

 

문제

키에 따라서 일렬에서 맨 앞에 있는 선생의 눈에 보이는 학생 수 구하기

 

import java.util.*;
class Main {
	public int solution(int n, int[] arr) {
		int answer = 1, max=arr[0];
		for(int i=1; i<n; i++) {
			if (arr[i] > max) {
				answer++;
				max = arr[i];
			}	
		}
		return answer;
	}

	public static void main(String[] args) {
		Main T = new Main();
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] arr = new int[n];
		for (int i=0; i<n; i++) {
			arr[i] = sc.nextInt();
		}
		System.out.print(T.solution(n, arr));
	}
}

 

 

가위바위보

문제

A,B 두 사람 각 회의 가위1 바위2 보3 정보 주어지면 각 회 누가 이겼는지 출력하기

각 줄에 각 회 승자 출력, 비겼을 때는 D 출력

 

import java.util.*;
class Main {
	public String solution(int n, int[] a, int[] b) {
		StringBuilder sb = new StringBuilder("");
		for(int i=0; i<n; i++) {
			if (a[i] == b[i]) sb.append("D");
			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");
			else sb.append("B");
		}
		String answer = sb.toString();
		return answer;
	}
	
	public static void main(String[] args) {
		Main T = new Main();
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] a = new int[n];
		int[] b = new int[n];
		for(int i=0; i<n; i++) {
			a[i] = sc.nextInt();
		}
		for(int i=0; i<n; i++) {
			b[i] = sc.nextInt();
		}
		for (char x : T.solution(n,a,b).toCharArray()) {
			System.out.println(x);
		}
	}
}