๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[๋ฐฑ์ค€] 2562๋ฒˆ: ์ตœ๋Œ“๊ฐ’(Stream)

by ์ฃผ๋ฐœ2 2020. 8. 4.
๋ฐ˜์‘ํ˜•

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

 

2562๋ฒˆ: ์ตœ๋Œ“๊ฐ’

9๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ด๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ์ฐพ๊ณ  ๊ทธ ์ตœ๋Œ“๊ฐ’์ด ๋ช‡ ๋ฒˆ์งธ ์ˆ˜์ธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„œ๋กœ ๋‹ค๋ฅธ 9๊ฐœ์˜ ์ž์—ฐ์ˆ˜ 3, 29, 38, 12, 57, 74, 40, 85, 61 ์ด ์ฃผ์–ด

www.acmicpc.net

 

์ฝ”๋“œ

import java.util.Arrays;
import java.util.Scanner;
import java.util.stream.IntStream;

public class Main {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        int[] arr = new int[9];
        for(int i=0; i<arr.length; i++) {
            arr[i] = scan.nextInt();
        }
        
        int max = Arrays.stream(arr).max().getAsInt();
        int []indexArr = IntStream.range(0, arr.length).filter(i -> arr[i] == max).toArray();
        
        System.out.println(max + "\n" + (indexArr[0]+1));
        
        scan.close();
    }

}

ํ’€์ด

Stream์˜ max()๋กœ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๊ณ , getASInt()๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

filter()์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ€ ์ตœ๋Œ“๊ฐ’์ผ๋•Œ๋ฅผ ๊ตฌํ•ด์ฃผ๊ณ , toArray()๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด๋กœ ์ธ๋ฑ์Šค๋“ค์„ ๋ฐฐ์—ด๋กœ ์ƒ์„ฑํ•œ๋‹ค.

(์ตœ๋Œ“๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ์ธ๊ฒฝ์šฐ ํ•ด๋‹น ์ธ๋ฑ์Šค๊ฐ€ ์ „๋ถ€ ๋‹ด๊ธด๋‹ค.)

 

 

์ŠคํŠธ๋ฆผ์ด ์‹ ๊ธฐํ•˜๊ธด ํ•˜๋‹ค.. ๊ฐ€๋…์„ฑ์€ ์ข‹์ง€๋งŒ ์„ฑ๋Šฅ๋ฉด์—์„œ๋Š” ๋งŽ์ด ๋”ฐ์ ธ๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

Stream / ์ผ๋ฐ˜ for๋ฌธ

 

 

for๋ฌธ ์ฝ”๋“œ

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int []arr = new int[9];
		int index = 0;
		int max = 0;
		
		for(int i=0; i<arr.length; i++) {
			arr[i] = scan.nextInt();	// ์ž…๋ ฅ๋ฐ›๊ธฐ
			
			// ๋ฐ˜๋ณต๋ฌธ๋™์•ˆ ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’์ผ๋•Œ์˜ index ์ฐพ๊ธฐ
			if(arr[i] > max) {
				max = arr[i];
				index = i;
			}
			
		}
		System.out.println(max);
		System.out.println(index+1);	// ๋ฐฐ์—ด์€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ +1
	}

}

 

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€