티스토리 뷰

백준

백준(java)점수 계산 - 2822

십발오징어 2023. 2. 19. 18:59

배열과 배열카피를 이용하여 풀어보았다.

합을 구하는 것은 배열에 저장한 후 sort하여 큰수부터 차례로 합하면 쉽게 구해졌는데

그 뒤로 sort를 되돌릴 방법을 몰라서 정렬하기 전에 카피를 하여 카피본과 정렬한 값을 비교하여 일치할 경우 카운트를

올려 5가 되면 while문에서 빠져나오도록 설정하였다.

while문 안에 있는 이중 for문 설명

이련 형식으로 비교하여 나타내었다.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {
	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int[]arr = new int[8];//합을 구하기 위한 배열
		StringBuilder sb = new StringBuilder();
		for(int i=0;i<arr.length;i++) {
			arr[i] = Integer.parseInt(br.readLine());
		}
		int[]arr2 = Arrays.copyOf(arr, arr.length);//sort를 진행하기전 배열복사
		Arrays.sort(arr);
		int sum = arr[7]+arr[6]+arr[5]+arr[4]+arr[3];
		System.out.println(sum);//큰 수 차례로 5개 합한 값
		int count = 0;
		while(true) {
			if(count==5)break;
			for(int i=0;i<8;i++) {
				for(int j=3;j<8;j++) {
					if(arr2[i]==arr[j]) {//기존배열과 큰 수가 일치하면
						count++;//카운트가 증가하고
						sb.append(i+1).append(" ");//i값에 1을 더해 순서를 sb에 공백과 저장
					}
				}
			}
		}
		System.out.println(sb);
	}
}

 

'백준' 카테고리의 다른 글

백준(java)라디오 - 3135  (0) 2023.02.21
백준(java)행렬 곱셈 - 2740  (0) 2023.02.20
백준(java)수들의 합 - 1789  (0) 2023.02.17
백준(java)국회의원 선거 - 1417  (0) 2023.02.16
백준(java)카드1 - 2161  (0) 2023.02.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함