728x90

groupingBy 2

kotlin 프로그래머스 lv2 기능개발

1. 의도 및 이유: 배포시 개발속도별로 모두 다르고, 뒤의 기능이 앞의 기능보다 먼저 개발될 수 있어서, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포되므로 새로운 배포배열 왼쪽요소의 값이 오른쪽 요소 값보다 크다면 오른쪽 요소의 값을 왼쪽요소의 값으로 바꿨다. 2. 코드 동작 로직: -먼저 작업진도 배열의 값들은 현재 진도 상태를 나타내고 우리가 구하기위한값은 나머지완성 배포일이 얼만큼 걸리는지 구해야하기 때문에 전체 100-progresses요소 를 뺀 새로운 배열을 만들어주었다. ex)newProgresses = [7, 70, 45] -그 후 배포일 배열을 새로 초기화하고 newProgresses의 요소를 작업속도 요소로 나눈값이 나누어떨어지지 않는다면 몫에 1을 더했다. -마지막..

kotlin 프로그래머스 lv2 할인 행사

해당 문제를 읽고 다음과 같은 알고리즘 사고를 해보았다. 1. want배열과 number배열을 맵으로 만들어 연결시키기 2. discount 배열에서 10일씩 이동하면서 want배열의 물건의 수량과 같은지 비교하는 작업하기 코드는 아래와 같이 작성하였다. 먼저 val wantMap = mutableMapOf() for (i in want.indices) { wantMap[want[i]] = number[i] } 다음 코드를 작성해서 wantMap을 만들어주었다. 그 후 배열을 10개단위로 잘라나가는 반복을 하기위해 예를들어 배열의 길이가109라면 10개를 잘라나간다고 가정했을때, 마지막 인덱스에서 9를 빼야 i는 100부터 시작해서 109에 마무리할수있어서 for (i in 0 until discount..

728x90