반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 다이나믹 프로그래밍
- Java
- 삼성SW테스트
- IT
- 안드로이드
- 백준 알고리즘
- CKLU
- 네트워크
- 모바일
- 언더라이터
- 너비탐색
- 백준
- 현대오토에버 코딩테스트
- 개발
- dp
- 익명객체
- 자바
- 삼성sw문제
- BFS
- Android
- dfs
- 멀티스레드
- 재귀함수
- 익명클래스
- 알고리즘
- 조합
- 금융IT
- 프로그래머스
- backjoon
- 데이터베이스
Archives
- Today
- Total
Limky 삽질블로그
[Algorithm] 야근지수 (NoOverTime) 본문
반응형
Programmers Level_03
야근지수 (NoOverTime)
야근 지수
회사원인 수민이는 많은 일이 쌓여 있습니다. 수민이는 야근을 최소화하기 위해 남은 일의 작업량을 숫자로 메기고, 일에 대한 야근 지수를 줄이기로 결정했습니다. 야근 지수는 남은 일의 작업량을 제곱하여 더한 값을 의미합니다. 수민이는 1시간 동안 남은 일 중 하나를 골라 작업량 1만큼 처리할 수 있습니다. 수민이의 퇴근까지 남은 N 시간과 각 일에 대한 작업량이 있을 때, noOvertime 함수를 제작하여 수민이의 야근 지수를 최소화 한 결과를 출력해 주세요. 예를 들어, N=4 일 때, 남은 일의 작업량이 [4, 3, 3] 이라면 야근 지수를 최소화하기 위해 일을 한 결과는 [2, 2, 2]가 되고 야근 지수는 22 + 22 + 22 = 12가 되어 12를 반환해 줍니다.
package Programmers.level03;
import java.util.Arrays;
public class NoOvertime {
public static void main(String[] args) {
// TODO Auto-generated method stub
NoOvertime c = new NoOvertime();
int []test = {4,3,3};
System.out.println(c.noOvertime(4,test));
}
public int noOvertime(int no, int[] works) {
int result = 0;
// 야근 지수를 최소화 하였을 때의 야근 지수는 몇일까요?
for(int i =0; i<no; i++){
Arrays.sort(works);
works[works.length-1] -= 1;
}
System.out.println(Arrays.toString(works));
for(int i=0; i<works.length;i++){
result+= Math.pow(works[i], 2);
}
return result;
}
}
반응형
'Algorithm > Programmers' 카테고리의 다른 글
| [DP] 가장 큰 정사각형 찾기 (find Largest Square) (3) | 2017.11.10 |
|---|---|
| [DP] 땅따먹기 게임 (Hopscotch) (0) | 2017.11.09 |
| [Algorithm] 최고의 집합 (Best Set) (0) | 2017.11.08 |
| [Algorithm] 점프뛰기 (JumpCase) (0) | 2017.10.05 |
| [Algorithm] 시저암호 (Caesar) (0) | 2017.10.05 |