추가 시나리오: 도토리들은 키를 기준으로 오름차순으로 정렬되어 있다고 가정
import java.io.*;
import java.lang.*;
import java.util.*;
public class Main {
public static final Scanner scanner = new Scanner(System.in);
/**
* 생일이 m월인 가장 큰 키의 도토리를 찾는 함수
* @param height 각 도토리의 키
* @param month 각 도토리의 출생 월
* @param n 도토리의 수
* @param m 찾고자 하는 달
* @return month[k] == m인 가장 큰 height[k]
*/
public static int getMaximumHeight(int[] height, int[] month, int n, int m){
int maxHeight = -1;
for(int i = n - 1; i >= 0; i--){
if(month[i] == m){
maxHeight = height[i];
break;
}
}
return maxHeight;
}
public static void main(String[] args) throws Exception {
System.out.println("인원 수를 입력해주세요");
int n = scanner.nextInt();
int[] height = new int[n];
int[] month = new int[n];
System.out.println("키를 입력해주세요");
for(int i = 0 ; i < n ; i ++)
{
height[i] = scanner.nextInt();
}
System.out.println("생일(월)을 입력해주세요");
for (int i = 0; i < n; i++) {
month[i] = scanner.nextInt();
}
System.out.println("찾으시는 생일(월)을 입력해주세요");
int m = scanner.nextInt();
int answer = getMaximumHeight(height, month, n, m);
System.out.println(answer);
}
}
10주 완성 알고리즘 코딩테스트 - goorm edu에서 들으실 수 있는 내용입니다.
'알고리즘' 카테고리의 다른 글
오름차순으로 정렬된 정수형 배열에서 중복을 제외한 종류의 수를 계산하는 함수 (0) | 2023.04.27 |
---|---|
입력 받은 정수형 배열이 오름차순인지 검사하는 알고리즘 (0) | 2023.04.24 |
1부터 정수 n까지 1 + (1 + 2) + (1 + 2 + 3) + .... + (1 + 1이상 n 이하 모든 정수의 합 )과 같은 식의 합을 구하는 알고리즘 (0) | 2023.04.19 |
선택 정렬 알고리즘 (0) | 2023.04.18 |
입력 받은 정수형 배열에서 배열 평균과 가장 가까운 원소의 값과 순서(인덱스 +1)를 반환하는 알고리즘 (0) | 2023.04.17 |