λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Algorithm

[λ°±μ€€] 5533번: μœ λ‹ˆν¬(κ΅¬ν˜„)

by 주발2 2020. 4. 10.
λ°˜μ‘ν˜•

https://www.acmicpc.net/problem/5533

 

5533번: μœ λ‹ˆν¬

문제 상근이와 μΉœκ΅¬λ“€μ€ MT에 κ°€μ„œ μ•„λž˜ μ„€λͺ…κ³Ό 같이 μž¬λ―ΈμžˆλŠ” κ²Œμž„μ„ ν•  것이닀. 각 ν”Œλ ˆμ΄μ–΄λŠ” 1이상 100 μ΄ν•˜μ˜ μ •μˆ˜λ₯Ό μΉ΄λ“œμ— 적어 μ œμΆœν•œλ‹€. 각 ν”Œλ ˆμ΄μ–΄λŠ” μžμ‹ κ³Ό 같은 수λ₯Ό μ“΄ μ‚¬λžŒμ΄ μ—†λ‹€λ©΄, μžμ‹ μ΄ μ“΄ μˆ˜μ™€ 같은 점수λ₯Ό μ–»λŠ”λ‹€. λ§Œμ•½, 같은 수λ₯Ό μ“΄ λ‹€λ₯Έ μ‚¬λžŒμ΄ μžˆλŠ” κ²½μš°μ—λŠ” 점수λ₯Ό 얻을 수 μ—†λ‹€. 상근이와 μΉœκ΅¬λ“€μ€ 이 κ²Œμž„μ„ 3번 ν–ˆλ‹€. 각 ν”Œλ ˆμ΄μ–΄κ°€ 각각 μ“΄ μˆ˜κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 3번 κ²Œμž„μ—μ„œ 얻은 총 점수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯

www.acmicpc.net

μ½”λ“œ

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		int N = scan.nextInt();
		int[][] arr = new int[N][3];
		int[] score = new int[N];
		for(int i=0; i<N; i++) {
			arr[i][0] = scan.nextInt();
			arr[i][1] = scan.nextInt();
			arr[i][2] = scan.nextInt();
		}
		
		for(int i=0; i<N; i++) {	// λͺ¨λ“  ν”Œλ ˆμ΄μ–΄λ“€ 비ꡐ
			for(int j=0; j<3; j++) {	 // → λ°©ν–₯으둜 비ꡐ
				boolean flag = true;
				
				for(int k=0; k<N; k++) { // ↓ λ°©ν–₯으둜 비ꡐ
					if(i == k)	continue;	// 자기 μžμ‹ μ€ 비ꡐ X
					
					if(arr[i][j] == arr[k][j]) {
						flag = false;
						break;
					}
				}
				
				if(flag)
					score[i] += arr[i][j];
			}
		}
		
		for(int i=0; i<score.length; i++) {
			System.out.println(score[i]);
		}
		scan.close();
	}

}

풀이

N의 λ²”μœ„κ°€ 200밖에 μ•ˆλ˜λ―€λ‘œ μ™„μ „νƒμƒ‰μœΌλ‘œ ν•΄κ²°ν•˜λ©΄ λœλ‹€.

각 ν”Œλ ˆμ΄μ–΄μ˜ κ²Œμž„λ§ˆλ‹€ λ‹€λ₯Έ ν”Œλ ˆμ΄μ–΄μ™€μ˜ 점수λ₯Ό λΉ„κ΅ν•΄κ°€λ©΄μ„œ 같은 μ μˆ˜κ°€ μžˆλŠ”μ§€ μ—†λŠ”μ§€ λΉ„κ΅ν•˜κ³  더해쀀닀.

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€