728x90

getOrDefault 2

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..

kotlin 프로그래머스 lv1 가장 가까운 같은 글자

문제를 보자마자 든 생각은 각 문자에대해서 반복되는 수도있고 없는 수도 있어서 index의 위치를 문자에따라서 저장하는 변수가 있으면 좋을것 같다는 생각이 들었다. 그래서 mutableMapOf 라는 mutable collection을 사용해서 문자와 그에따른 인덱스를 저장하는 변수를 만들었다. indexMap은 초기에 비어있는 맵이어서, 각 문자가 나타난 위치를 추적하는데 사용된다. for문을 통해 현재문자를 얻어서 변수에 저장한다. 그 후 초기화한 맵인 indexMap을 통해서 첫번째 입력된 char와 같은 인덱스가 있다면 2번째 List에 저장하고 없다면 빈 리스트를 생성한다. 그 후 closetstIndex에 현재 위치 이전에 가장 가까운 인덱스를 찾는다. closestIndex가 null인지 아..

728x90