반응형
일단문제를볼까요?
저는 자바로 풀었습니다.
import java.util.*;
public class Main{
public static void main(String[] arg) {
Scanner input = new Scanner(System.in);
int N = 9;
int[] arr = new int[N];
int sum=0;
boolean check =false;
for(int i=0;i<N;i++) {
arr[i] = input.nextInt();
sum+=arr[i];
}
for(int i=0;i<N;i++) {
if(check)break;
for(int j=0;j<N;j++) {
if(i==j)continue;
if(sum-arr[j]-arr[i]==100) {
arr[i]=0;
arr[j]=0;
check=true;
break;
}
}
}
Arrays.sort(arr);
for(int i =0;i<9;i++) {
if(arr[i]!=0)System.out.println(arr[i]);
}
}
}
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
이 문제는 배열로 접근해서 풀어야할 것 같습니다. 9개의 배열을 만들어줍니다. 합이 100이되는지 체크할 변수도 필요하네요. 그리고 boolean을통해 체크해줍니다. 9명의 난쟁이 키를 입력해주는 for문을 돌립니다. 그리고 그 값을 합 변수에 더해줍니다. 여기서 이제 값을 비교하기위해 for문을 돌려줍니다. 저는 sum-arr[j]-arr[i]==100으로 일곱 난쟁이들을 찾아줍니다. sort 함수를통해 오름차순으로 정리한뒤 출력해줬습니다.
반응형
'혼자 공부하는 것들 > 알고리즘' 카테고리의 다른 글
백준 java) 11399번 문제 ATM (0) | 2020.09.21 |
---|---|
백준 java) 11650번 문제 좌표 정렬하기 (0) | 2020.09.21 |
백준 C) 15552번 문제 빠른A+B (0) | 2020.09.20 |
백준 JAVA) 14502번 문제 연구소 (0) | 2020.09.20 |
JAVA)백준 1016번 제곱 ㄴㄴ수 (0) | 2020.07.18 |
댓글