01-08 08:57
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

miinsun

[Algorithm]์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž๋ฐ”_48 ์žฅ๋‚œ๊พธ๋Ÿฌ๊ธฐ ๋ณธ๋ฌธ

Algorithm/Java

[Algorithm]์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž๋ฐ”_48 ์žฅ๋‚œ๊พธ๋Ÿฌ๊ธฐ

miinsun 2022. 1. 12. 17:43

 

๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…

์ƒˆ ํ•™๊ธฐ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ƒˆ ์ง๊ฟ์„ ๋งŒ๋‚˜ ๋„ˆ๋ฌด ์‹ ์ด ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ฒ ์ˆ˜๋„ค ๋ฐ˜์—๋Š” N๋ช…์˜ ํ•™์ƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์„ ์ƒ๋‹˜์€ ๋ฐ˜ ํ•™์ƒ๋“ค์—๊ฒŒ ๋ฐ˜ ๋ฒˆํ˜ธ๋ฅผ ์ •ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ์šด๋™์žฅ์— ๋ฐ˜ ํ•™์ƒ๋“ค์„ ํ‚ค๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ํ•™์ƒ๋ถ€ํ„ฐ ์ผ๋ ฌ๋กœ ํ‚ค์ˆœ์œผ๋กœ ์„ธ์› ์Šต๋‹ˆ๋‹ค. ์ œ์ผ ์•ž์— ๊ฐ€์žฅ ์ž‘์€ ํ•™์ƒ๋ถ€ํ„ฐ ๋ฐ˜ ๋ฒˆํ˜ธ๋ฅผ 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ง๊ฟ๋ณด๋‹ค ํ‚ค๊ฐ€ ํฝ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ฒ ์ˆ˜๊ฐ€ ์•ž ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›๊ณ  ์‹ถ์–ด ์ง๊ฟ๊ณผ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค. ์„ ์ƒ๋‹˜์€ ์ด ์‚ฌ์‹ค์„ ๋ชจ๋ฅด๊ณ  ํ•™์ƒ๋“ค์—๊ฒŒ ์„œ์žˆ๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฒ ์ˆ˜์™€ ์ง๊ฟ์ด ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พผ ๋ฐ˜ ํ•™์ƒ๋“ค์˜ ์ผ๋ ฌ๋กœ ์„œ์žˆ๋Š” ํ‚ค ์ •๋ณด๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ฒ ์ˆ˜๊ฐ€ ๋ฐ›์€ ๋ฒˆํ˜ธ์™€ ์ฒ ์ˆ˜ ์ง๊ฟ์ด ๋ฐ›์€ ๋ฒˆํ˜ธ๋ฅผ ์ฐจ๋ก€๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

 

 

๐Ÿ”จ ์ž…์ถœ๋ ฅ ์˜ˆ

์ž…๋ ฅ - ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N(5<=N<=100)์ด ์ฃผ์–ด์ง„๋‹ค.

๋‘ ๋ฒˆ์งธ ์ค„์— ์ œ์ผ ์•ž์—๋ถ€ํ„ฐ ์ผ๋ ฌ๋กœ ์„œ์žˆ๋Š” ํ•™์ƒ๋“ค์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

ํ‚ค(๋†’์ด) ๊ฐ’ H๋Š” (120<=H<=180)์˜ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค.

9
120 125 152 130 135 135 143 127 160

์ถœ๋ ฅ - ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ฒ ์ˆ˜์˜ ๋ฐ˜ ๋ฒˆํ˜ธ์™€ ์ง๊ฟ์˜ ๋ฐ˜ ๋ฒˆํ˜ธ๋ฅผ ์ฐจ๋ก€๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ถœ๋ ฅํ•ด์„ค : ํ‚ค ์ •๋ณด 152๊ฐ€ ์ฒ ์ˆ˜์ด๊ณ , 127์ด ์ฒ ์ˆ˜ ์ง๊ฟ์ž…๋‹ˆ๋‹ค.

3 8

 

 

โ€‹

๐Ÿ’ป Solution.java

import java.util.*;

public class Main {
	public ArrayList<Integer> solution(int n, int [] arr) {	
		ArrayList<Integer> answer = new ArrayList<>();
		int[]tmp = arr.clone();
		Arrays.sort(tmp);
		for(int i = 0; i < n; i++) {
			if(arr[i] != tmp[i]) answer.add(i+1);
		}
		return answer;
	}
	
	public static void main(String[] args){
		Main main  = new Main();
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		int[] arr = new int[n];
		
		for(int i = 0; i < n; i++) {
			arr[i] = sc.nextInt();
		}
		
		for(int x : main.solution(n, arr)) System.out.print(x+" ");
		
		sc.close();
		return ;
	}
}

 

 

 

Comments