문제 접근
막상 풀고나니 자바는 지원을 안해서 GPT에게 자바를 C++로 바꿔달라했다.
N의 크기만큼 반복문을 돌면서 던진 거리를 절대값으로 변환
절대값이 기존의 min보다 작다면 min값 교체, min과 같다면 횟수 + 1
반복문 종료 후 min과 횟수 출력
JAVA CODE
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int T = Integer.parseInt(br.readLine()); // 테케
for(int t=1; t<=T; t++) {
int N = Integer.parseInt(br.readLine());
st = new StringTokenizer(br.readLine());
int count = 1;
int min = 100001;
for(int i=0; i<N; i++) {
int absValue = Math.abs(Integer.parseInt(st.nextToken()));
if(min > absValue) {
min = absValue;
count = 1;
}
else if(min == absValue) count++;
}
System.out.println("#"+t+" "+ min+" " + count);
}
}
}
C++ CODE
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
int main() {
int T;
scanf("%d", &T);
for(int t=1; t<=T; t++) {
int N;
scanf("%d", &N);
int count = 1;
int min = 100001;
for(int i=0; i<N; i++) {
int absValue;
scanf("%d", &absValue);
absValue = abs(absValue);
if(min > absValue) {
min = absValue;
count = 1;
}
else if(min == absValue) count++;
}
printf("#%d %d %d\n", t, min, count);
}
return 0;
}
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA / 구구단 걷기 / JAVA] (1) | 2023.05.11 |
---|---|
[SWEA / 원 안의 점 / JAVA] (0) | 2023.05.09 |
[SWEA / 새로운 불면증 치료법 / JAVA] (1) | 2023.05.08 |
[SWEA / 간단한 소인수분해 / JAVA] (0) | 2023.05.04 |
[SWEA / 날짜 계산기 / JAVA] (1) | 2023.05.03 |
댓글