본문 바로가기
반응형

2023년 이전/Codility27

Lesson6 - MaxProductOfThree 자세한 문제는 여기를 참조하세요 이 문제는 array에서 3개를 뽑아 최고로 큰 값을 찾는 문제입니다. 우선 제가 작성한 code는 fun solution(A: IntArray): Int { val size = A.size for (index in 1 until A.size) { val temp = A[index] var aux = index - 1 while (aux >= 0 && A[aux] > temp) { A[aux + 1] = A[aux] aux-- } A[aux + 1] = temp } var k_1 = A[0]*A[1]*A[size-1] var k_2 = A[size-1]*A[size-2]*A[size-3] if(k_1 > k_2){ return k_1 }else if(k_2 > k_1){ .. 2019. 12. 13.
Lesson5 - CountDiv 자세한 문제는 여기서 확인해 주세요 이 문제는 A와 B 사이의 값중 K로 나누어 떨어지는 값을 찾는 문제입니다. Lesson5 중에 제일 쉬운 문제였던것 같습니다.(구글링을 안했습니다 ㅠㅠ) 해결 코드는 다음과 같습니다. fun solution(A: Int, B: Int, K: Int): Int { if(A==B){ if(A%K == 0) return 1 else return 0 } val start = A/K val end = B/K var ans = end - start if(A%K == 0){ ans++ } return ans } 처음엔 for문으로 해보려다 다른 바업ㅂ이 있지 않을까 싶어서 쪼금 생각을 해봤는데, K의 배수가 저 사이에 몇개인지만 세면 되니 A와 B를 K로 나눈다음 뺴면 그 사이에.. 2019. 12. 13.
Codility - Lesson5 MinAvgTwoSlice 상세 문제는 여기서 확인 하시면 됩니다. 설명하자면 주어진 array에서 각 위치의 결과값들에 대한 평균값이 가장 작은 시작점을 구하는 것입니다. 글로 쓰고나서 읽어보니 저도 이해가 잘 안되므로 예제로 설명드리겠습니다. A가 다음과 같을 때 A[0] = 4 A[1] = 2 A[2] = 2 A[3] = 5 A[4] = 1 A[5] = 5 A[6] = 8 (0,1)은 (4+2)/2 = 3이되 고 (0,3)은 (4+2+2+5)/4 = 3.25 가 됩니다. 그리고 (P,Q)라 했을때 P avg){ min = avg ans = i } } } return ans } 처음에는 결과가 자꾸 0이나와서 왜 그런가 했더니 , 문제에서 평균값이 소수점까지 비교를 하는거여서 그랬던 거였습니다. 그래서 변수 타입을 Double.. 2019. 12. 13.
Lesson 5 - GenomicRangeQuery 자세한 문제는 여기를 확인해 주셔요 간략하자면 S의 문자열에서 P[N] 값과 Q[N] 값의 문자열 중 작은 값을 반환하는 것입니다. ex) A =1 , C= 2, G = 3 , T= 4 이고 S가 S = CAGCCTA 일 때, P[0] = 2 Q[0] = 4 이면 CAGCCTA 이 3개 값중 가장 낮은 값이 2를 반환 합니다. P와 Q의 사이즈 만큼 찾아서 그 결과인 [2,4,1]을 반환하면 됩니다. // you can also use imports, for example: // import kotlin.math.* // you can write to stdout for debugging purposes, e.g. // println("this is a debug message") fun solution.. 2019. 12. 6.
반응형