Lesson7 StoneWall
자세한 문제는 여기서 확인 이 문제는 문제를 이해하는데 많은 시간을 소모했고 구글링을 통해서 문제를 이해하려해도 문제가 이해가 되지 않았습니다. 아무튼 이 문제의 핵심은 현재 높이 보다 이전 블럭이 낮아질때까지 계속 제거 해 나감. 현재 높이랑 이전 블럭이 같으면 같은 블럭으로 통합 가능 하기 때문에 그냥 유지함. 위 2개 입니다. 문제에서 주어진 예제로 설명하자면 H[0] = 8, H[1] = 8, H[2] = 5, H[3] = 7, H[4] = 9, H[5] = 8, H[6] = 7, H[7] = 4, H[8] = 8 일 경우 8 count 1 {8, 8} 이때는 높이가 같기 때문에 count는 그래도 입니다. {8, 8}, 5 인데 5가 8보다 작기 때문에 8을 뺸다. 그리고 새로운 5가 들어갔기 ..
2020. 6. 7.
Lesson 6 - NumberOfDicIntersection
자세한 문제는 여기서 확인하시면 됩니다. 이 문제는 array의 index가 위치고 그 값이 반지름이되어 원들이 겹치는 횟수를 반환하는 문제입니다. 예제의 겹치는 횟수는 0, 1 / 0, 2 / 0, 4 1, 2 / 1, 3 / 1, 4 / 1, 5 2, 3 / 2, 4 3, 4 4, 5 이렇게 겹쳐지기 때문에 11입니다. 첫번째 알고리즘을 사용한 방법은 O(N**2) 복잡도를 나타냈습니다. 그리고 결과는 75% fun solution(A: IntArray): Int { var count = 0 for(i in A.indices){ for( j in i+1 until A.size){ if(j-A[j]=i+A[i]){ count++ }else if(i-A[i]=j-A[j] ){ count++ } } if(..
2020. 1. 20.