Algorithm

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šคํƒ/ํ Lv2 <๊ธฐ๋Šฅ๊ฐœ๋ฐœ> JAVA

seulye 2021. 8. 23. 21:56

 

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์งœ๋Š”๊ฑด ์–ผ๋งˆ ์•ˆ ๊ฑธ๋ ธ๋Š”๋ฐ,

์˜ค๋žœ๋งŒ์— ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€๋‹ค๋ณด๋‹ˆ๊นŒ ์ž๋ฃŒํ˜• ๋‹ค๋ฃจ๋Š” ๊ฒŒ ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ์˜ค๋ž˜ ๊ฑธ๋ฆฐ ๊ฒƒ ๊ฐ™๋‹ค.

 

https://programmers.co.kr/learn/courses/30/lessons/42586

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ธฐ๋Šฅ๊ฐœ๋ฐœ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒ€์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ์€ ์ง„๋„๊ฐ€ 100%์ผ ๋•Œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์†๋„๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š”

programmers.co.kr

 

 

import java.lang.Math;
import java.util.ArrayList;

class Solution {
    public int[] solution(int[] progresses, int[] speeds) {
        ArrayList<Integer> list = new ArrayList<>();
        int length = progresses.length;
        int[] days = new int[length];
        int[] answer = {};
        double d;
        int a=0; //days ์ธ๋ฑ์Šค
        int count; //ํ•œ ๋ฒˆ์— ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ์ˆ˜
        int b; 
        
        //์™„์„ฑ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์ผ์ˆ˜ ๊ณ„์‚ฐ
        for(int i=0;i<length;i++){
            d = (double)(100-progresses[i])/speeds[i]; 
            d = Math.ceil(d);
            days[i]=(int)d;
        }

        while (a<length){
            count=1;
            if(a==length-1){ //๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์ผ ๊ฒฝ์šฐ
                list.add(c);
                break;
            }
            for(b=1;b<length-a;b++){
                if(days[a]>=days[a+b]){
                    count++;
                }
                else{
                    break;
                }                
            }
            a=a+b;
            list.add(count);
            
        }
        answer = list.stream().mapToInt(i ->i).toArray();
        return answer;
    }
}

 

์ž๋ฐ”์˜ ๋ฐฐ์—ด์€ add ๊ธฐ๋Šฅ์ด ์—†์–ด์„œ ๊ทธ๋Ÿฐ ๊ธฐ๋Šฅ์„ ๊ฐ–๋Š” ์ž๋ฃŒํ˜•์ด ๋ญ๊ฐ€ ์žˆ์„๊นŒ ํ•˜๋‹ค๊ฐ€ ์ฐพ์€ ArrayList.

(์ˆœ๊ฐ„ ํŒŒ์ด์ฌ์˜ ๋ฐฐ์—ด์ด ์ •๋ง ๊ทธ๋ฆฌ์› ๋‹ค) ๊ทผ๋ฐ ๋˜ ArrayList๋ฅผ int๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•ด์•ผํ•ด์„œ.. ๊ฑฐ๊ธฐ์„œ ๋ง‰ํ˜”๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

1. ์˜ฌ๋ฆผํ•˜๋Š” ํ•จ์ˆ˜

2. ArrayList ์‚ฌ์šฉ

3. ArrayList -> Array

 

์ด๊ฒƒ๋งŒ ์ž˜ ์•Œ์•˜๋‹ค๋ฉด ํ›จ์”ฌ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ ๊ฐ™๋‹ค !