Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Git
- 함수
- Security
- JavaScript
- kotlin
- error
- 프로그래머스
- 오라클
- 에러
- Vue
- Java
- GitHub
- 생성
- jquery
- db
- 알고리즘
- 코틀린
- 쿼리
- aws
- 스프링
- JPA
- oracle
- IntelliJ
- 자바
- Eclipse
- mybatis
- 방법
- 시큐리티
- Spring
- 넥사크로
Archives
- Today
- Total
송민준의 개발노트
프로그래머스-level2-기능개발 본문
https://programmers.co.kr/learn/courses/30/lessons/42586
ArrayList 2개 써서 풀었다.
주어진 테스트케이스로는 안풀어져서 다른 테스트케이스를 추가하였고 원인은
progress는 100점이 넘을 경우 제거를 해주는데 speeds는 제거를 안해줘서
인덱스가 하나씩 밀려서 progress[i]에 speeds[i-1]가 추가되는 불상사가 생긴 것이다...
풀긴 풀었지만 코드가 너무 길다...
class Solution {
public static void main(String args[]) {
Solution s = new Solution();
int[] b = s.solution(new int[] {93, 30, 55}, new int[] {1, 30, 5});
Arrays.stream(b).forEach(item -> System.out.println(item));
int[] c = s.solution(new int[] {40, 93 ,30, 55, 60, 65}, new int[] {60, 1, 30, 5, 10, 7});
Arrays.stream(c).forEach(item -> System.out.println(item));
}
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> pro = new ArrayList<Integer>();
List<Integer> speed = new ArrayList<Integer>();
ArrayList<Integer> answer = new ArrayList<Integer>();
for(int progress : progresses) {
pro.add(progress);
}
for(int speedss : speeds) {
speed.add(speedss);
}
while(true) {
int count = 0;
for(int i =0; i < pro.size(); i++) { // 각 항목별 speed를 더해줌
pro.set(i, pro.get(i) + speed.get(i));
}
for(int i = 0; i < pro.size(); i++) { // 100점 넘는지 확인하는 구간
if(pro.get(i) >= 100) {// 앞에서부터 100점 이상인지 확인
count++; //100점 이상일시 배포
pro.remove(i); //배포 후 제거
speed.remove(i--);
if(pro.size()== 0) {answer.add(count);}
} else {
if(count != 0) { //count 0이 아닐경우 배포숫자 더함
answer.add(count);
}
break; // 100점 미만이면 for문 빠져나옴
}
}
if(pro.size() <= 0) {
break;
}
}
int[] ans = new int[answer.size()];
for(int i =0; i < answer.size(); i++) {
ans[i] = answer.get(i);
}
return ans;
}
}
참고할 코드
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스-level2-전화번호 목록 (0) | 2019.12.02 |
---|---|
프로그래머스-level2-쇠막대기 (0) | 2019.12.02 |
프로그래머스-level2-멀쩡한 사각형 (0) | 2019.12.01 |
프로그래머스-level2-프린터 (0) | 2019.12.01 |
프로그래머스-level2-위장 (0) | 2019.11.30 |