ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [์™„์ „ํƒ์ƒ‰/Level1/Java] ์ตœ์†Œ ์ง์‚ฌ๊ฐํ˜•
    ๊ณต๋ถ€/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2022. 10. 6. 19:57
    728x90

     ๋ฌธ์ œ ์„ค๋ช… 

    ๋ช…ํ•จ ์ง€๊ฐ‘์„ ๋งŒ๋“œ๋Š” ํšŒ์‚ฌ์—์„œ ์ง€๊ฐ‘์˜ ํฌ๊ธฐ๋ฅผ ์ •ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ชจ์–‘๊ณผ ํฌ๊ธฐ์˜ ๋ช…ํ•จ๋“ค์„ ๋ชจ๋‘ ์ˆ˜๋‚ฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉด์„œ, ์ž‘์•„์„œ ๋“ค๊ณ  ๋‹ค๋‹ˆ๊ธฐ ํŽธํ•œ ์ง€๊ฐ‘์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ง€๊ฐ‘์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋””์ž์ธํŒ€์€ ๋ชจ๋“  ๋ช…ํ•จ์˜ ๊ฐ€๋กœ๊ธธ์ด์™€ ์„ธ๋กœ ๊ธธ์ด๋ฅผ ์กฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

    ์•„๋ž˜ ํ‘œ๋Š” 4๊ฐ€์ง€ ๋ช…ํ•จ์˜ ๊ฐ€๋กœ ๊ธธ์ด์™€ ์„ธ๋กœ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.


    ๋ช…ํ•จ ๋ฒˆํ˜ธ ๊ฐ€๋กœ ๊ธธ์ด ์„ธ๋กœ ๊ธธ์ด
    1 60 50
    2 30 70
    3 60 30
    4 80 40

    ๊ฐ€์žฅ ๊ธด ๊ฐ€๋กœ ๊ธธ์ด์™€ ์„ธ๋กœ ๊ธธ์ด๊ฐ€ ๊ฐ๊ฐ 80, 70์ด๊ธฐ ๋•Œ๋ฌธ์— 80(๊ฐ€๋กœ) x 70(์„ธ๋กœ) ํฌ๊ธฐ์˜ ์ง€๊ฐ‘์„ ๋งŒ๋“ค๋ฉด ๋ชจ๋“  ๋ช…ํ•จ๋“ค์„ ์ˆ˜๋‚ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 2๋ฒˆ ๋ช…ํ•จ์„ ๊ฐ€๋กœ๋กœ ๋ˆ•ํ˜€ ์ˆ˜๋‚ฉํ•œ๋‹ค๋ฉด 80(๊ฐ€๋กœ) x 50(์„ธ๋กœ) ํฌ๊ธฐ์˜ ์ง€๊ฐ‘์œผ๋กœ ๋ชจ๋“  ๋ช…ํ•จ๋“ค์„ ์ˆ˜๋‚ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ์˜ ์ง€๊ฐ‘ ํฌ๊ธฐ๋Š” 4000(=80 x 50)์ž…๋‹ˆ๋‹ค.

    ๋ชจ๋“  ๋ช…ํ•จ์˜ ๊ฐ€๋กœ ๊ธธ์ด์™€ ์„ธ๋กœ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 2์ฐจ์› ๋ฐฐ์—ด sizes๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ช…ํ•จ์„ ์ˆ˜๋‚ฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ง€๊ฐ‘์„ ๋งŒ๋“ค ๋•Œ, ์ง€๊ฐ‘์˜ ํฌ๊ธฐ๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


    ์ œํ•œ์‚ฌํ•ญ
    • sizes์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 10,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
      • sizes์˜ ์›์†Œ๋Š” [w, h] ํ˜•์‹์ž…๋‹ˆ๋‹ค.
      • w๋Š” ๋ช…ํ•จ์˜ ๊ฐ€๋กœ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
      • h๋Š” ๋ช…ํ•จ์˜ ์„ธ๋กœ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
      • w์™€ h๋Š” 1 ์ด์ƒ 1,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

     

    ์ž…์ถœ๋ ฅ ์˜ˆ
    sizes result
    [[60, 50], [30, 70], [60, 30], [80, 40]] 4000
    [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120
    [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133

    ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

    ์ž…์ถœ๋ ฅ ์˜ˆ #1
    ๋ฌธ์ œ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ์ž…์ถœ๋ ฅ ์˜ˆ #2
    ๋ช…ํ•จ๋“ค์„ ์ ์ ˆํžˆ ํšŒ์ „์‹œ์ผœ ๊ฒน์ณค์„ ๋•Œ, 3๋ฒˆ์งธ ๋ช…ํ•จ(๊ฐ€๋กœ: 8, ์„ธ๋กœ: 15)์ด ๋‹ค๋ฅธ ๋ชจ๋“  ๋ช…ํ•จ๋ณด๋‹ค ํฌ๊ธฐ๊ฐ€ ํฝ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ง€๊ฐ‘์˜ ํฌ๊ธฐ๋Š” 3๋ฒˆ์งธ ๋ช…ํ•จ์˜ ํฌ๊ธฐ์™€ ๊ฐ™์œผ๋ฉฐ, 120(=8 x 15)์„ return ํ•ฉ๋‹ˆ๋‹ค.

    ์ž…์ถœ๋ ฅ ์˜ˆ #3
    ๋ช…ํ•จ๋“ค์„ ์ ์ ˆํžˆ ํšŒ์ „์‹œ์ผœ ๊ฒน์ณค์„ ๋•Œ, ๋ชจ๋“  ๋ช…ํ•จ์„ ํฌํ•จํ•˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ง€๊ฐ‘์˜ ํฌ๊ธฐ๋Š” 133(=19 x 7)์ž…๋‹ˆ๋‹ค.

     


     ์•„์ด๋””์–ด 

    ์ง€๊ฐ‘ ๊ฐ€๋กœ ๊ธธ์ด๋ณด๋‹ค ์„ธ๋กœ ๊ธธ์ด๊ฐ€ ๊ธธ๋ฉด ๋‘˜์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พผ๋‹ค. 

    ๊ทธ ํ›„ ๊ฐ€๋กœ ๊ธธ์ด ์ค‘ max ๊ฐ’, ์„ธ๋กœ ๊ธธ์ด ์ค‘ max๊ฐ’์„ ๊ฐ๊ฐ ๊ตฌํ•ด ๊ณฑํ•ด์„œ ํฌ๊ธฐ ๋ฆฌํ„ดํ•˜์ž!

     

     


     ์ œ์ถœํ•œ ์ฝ”๋“œ 

    //์ตœ์†Œ ์ง์‚ฌ๊ฐํ˜•
    public class MinimumRectangle {
    
    	 public int solution(int[][] sizes) {
    	        int answer = 0;
    	        int max_width=0;
    	        int max_height=0;
    	        
    	        for(int i =0;i<sizes.length;i++) {
    	        	//๊ฐ€๋กœ๋ณด๋‹ค ์„ธ๋กœ๊ฐ€ ์ž‘์œผ๋ฉด ์œ„์น˜ ๋ฐ”๊ฟˆ 
    	        	if(sizes[i][0]<sizes[i][1]) { 
    	        		int tmp = sizes[i][0];
    	        		sizes[i][0] = sizes[i][1];
    	        		sizes[i][1] = tmp;
    	        	}
    	        	
    	        	if(sizes[i][0]>max_width) { // ๊ฐ€๋กœ ์ค‘์—์„œ ํฐ๊ฑฐ ์ฐพ๊ธฐ 
    	        		max_width = sizes[i][0];
    	        	}
    	        	
    	        	if(sizes[i][1]>max_height) { // ์„ธ๋กœ ์ค‘์—์„œ ํฐ๊ฑฐ ์ฐพ๊ธฐ 
    	        		max_height = sizes[i][1];
    	        	}
    	        }
    	        answer= max_width*max_height;
    	     
    	        return answer;
    	    }
    }

     

     


     ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ 

    ํ…Œ์ŠคํŠธ 1 ใ€‰ ํ†ต๊ณผ (0.02ms, 77.7MB)
    ํ…Œ์ŠคํŠธ 2 ใ€‰ ํ†ต๊ณผ (0.02ms, 73.2MB)
    ํ…Œ์ŠคํŠธ 3 ใ€‰ ํ†ต๊ณผ (0.01ms, 74.9MB)
    ํ…Œ์ŠคํŠธ 4 ใ€‰ ํ†ต๊ณผ (0.02ms, 77.2MB)
    ํ…Œ์ŠคํŠธ 5 ใ€‰ ํ†ต๊ณผ (0.01ms, 73.6MB)
    ํ…Œ์ŠคํŠธ 6 ใ€‰ ํ†ต๊ณผ (0.02ms, 74.6MB)
    ํ…Œ์ŠคํŠธ 7 ใ€‰ ํ†ต๊ณผ (0.02ms, 76.4MB)
    ํ…Œ์ŠคํŠธ 8 ใ€‰ ํ†ต๊ณผ (0.02ms, 84.1MB)
    ํ…Œ์ŠคํŠธ 9 ใ€‰ ํ†ต๊ณผ (0.02ms, 76.7MB)
    ํ…Œ์ŠคํŠธ 10 ใ€‰ ํ†ต๊ณผ (0.03ms, 74.5MB)
    ํ…Œ์ŠคํŠธ 11 ใ€‰ ํ†ต๊ณผ (0.03ms, 77.3MB)
    ํ…Œ์ŠคํŠธ 12 ใ€‰ ํ†ต๊ณผ (0.03ms, 75.8MB)
    ํ…Œ์ŠคํŠธ 13 ใ€‰ ํ†ต๊ณผ (0.10ms, 76MB)
    ํ…Œ์ŠคํŠธ 14 ใ€‰ ํ†ต๊ณผ (0.19ms, 79.7MB)
    ํ…Œ์ŠคํŠธ 15 ใ€‰ ํ†ต๊ณผ (0.28ms, 78.2MB)
    ํ…Œ์ŠคํŠธ 16 ใ€‰ ํ†ต๊ณผ (0.42ms, 82.9MB)
    ํ…Œ์ŠคํŠธ 17 ใ€‰ ํ†ต๊ณผ (0.83ms, 90.7MB)
    ํ…Œ์ŠคํŠธ 18 ใ€‰ ํ†ต๊ณผ (0.78ms, 84.3MB)
    ํ…Œ์ŠคํŠธ 19 ใ€‰ ํ†ต๊ณผ (0.72ms, 82.4MB)
    ํ…Œ์ŠคํŠธ 20 ใ€‰ ํ†ต๊ณผ (1.29ms, 87.7MB)

    ๋Œ“๊ธ€

Designed by Tistory.