[백준] - 1026번: 보물(Java)

병찬·2022년 5월 31일
0

Baekjoon Online Judge

목록 보기
10/18
post-thumbnail

문제📝


풀이💡

  • A배열과 B배열을 오름차순으로 정렬하였다.
  • A배열은 최소값부터 B배열은 최대값부터 곱해서 sum에 더해줬다.
  • 문제에서는 B 배열을 재배열하지 마라고 하였는데 다른 사람들은 어떻게 풀었는지 보았는데 다들 정렬을 하였길래 나도 그렇게 하였다.

코드💻

// 백준 Silver4 - 1026(보물)
// 문제링크: https://www.acmicpc.net/problem/1026

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int sum = 0;
		
		int A[] = new int[num];
		int B[] = new int[num];
		
		for(int i=0; i<A.length; i++) {
			A[i] = sc.nextInt();
		}
		for(int i=0; i<A.length; i++) {
			B[i] = sc.nextInt();
		}
		
		Arrays.sort(A); // A배열 정렬
		Arrays.sort(B); // B배열 정렬
		
		for(int i=0; i<num; i++) {      // sum에 A배열은 최소값부터 
			sum += A[i]*B[num-1-i]; // B배열은 최대값부터 곱해서 더하기
		}
		System.out.println(sum);
	}
}

결과😎


느낀점👨‍💻

그동안 정보처리 기사 실기 및 프로젝트 준비 때문에 알고리즘을 한동안 안했는데 다시 감을 잡기 위해서 비교적 쉬운 문제를 풀게 되었다. 앞으로는 꾸준하게 문제를 풀도록 노력해야겠다.


Sinbmil의 알고리즘 문제 코드

-> https://github.com/Sinbmil/Algorithm-Study

profile
코딩을 열심히 하고 있습니다:)

0개의 댓글