문제
밀리미터 단위로 -100,000에서 100,000까지의 숫자가 일렬로 써져 있을 때, 100,000이 써져 있는 위치에 서서 최대한 0에 가까운 위치로 돌을 던지려고 한다.
N명의 사람들이 던진 돌이 떨어진 위치를 측정한 자료가 주어질 때, 가장 0에 가깝게 돌이 떨어진 위치와 0 사이의 거리 차이와 몇 명이 그렇게 돌을 던졌는지를 구하는 프로그램을 작성하라.
풀이방법
입력된 데이터 중에서 절대값이 가장 작은 수들을 구한다
소스코드
package samsung;
import java.util.*;
public class s_1285 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
int n = sc.nextInt();
ArrayList <Integer> a = new ArrayList();
for(int i = 0; i < n; i++) {
int tmp = Math.abs(sc.nextInt());
a.add(tmp);
}
Collections.sort(a);
int cnt = 1;
int min = a.get(0);
for(int i = 1; i < n; i++) {
if(min == a.get(i)) cnt++;
}
System.out.println("#" + t + " " + min + " " + cnt);
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 1945. 간단한 소인수분해 (0) | 2020.02.09 |
---|---|
[SWEA] 1289. 원재의 메모리 복구하기 (0) | 2020.02.09 |
[SWEA] 1234. 비밀번호 (0) | 2020.02.09 |
[SWEA] 1230. 암호문3 (0) | 2020.02.09 |
[SWEA] 1229. 암호문2 (0) | 2020.02.09 |
댓글