[C++ 풀이] Codility - Lessons 9 (Maximum slice problem), MaxSliceSum
이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 비어있지 않은 배열 A가 주어집니다. 배열 A의 길이는 1 ~ 1,000,000 이며, A[N]의 요소들은 -1,000,000 ~ 1,000,000이 될 수 있습니다. 그리고 배열들 요소의 최종 합은 int의 범위인 -2,147,483,648 ~ 2,147,483,647 입니다. 이때 배열 요소들의 합 중 가장 큰 합을 구하는 문제입니다. 결과 // you can use includes, for example: // #include // you can write to stdout for debugging purposes, e.g. // cout
2019. 11. 8.
[C++ 풀이] Codility - Lessons 8 (Leader), Dominator
이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 이 문제는 배열 A가 주어지고, A의 요소들은 -2,147,483,648 ~ 2,147,483,647 사이의 정수로 입력됩니다. 이 중 배열 길이의 절반 초과로 나오는 정수가 있을 경우 해당 정수의 Index 값을 반환하면 되고, 없을 경우엔 -1을 반환하면 됩니다. 예를 들어 위 예제처럼 A의 배열 요소가 주어진다면, 3의 갯수는 5개가 됩니다. 배열 A의 길이는 8이고요. 따라서 배열 절반 길이인 4보다 3의 갯수가 더 많음으로, return 값은 0, 2, 4, 6, 7(A배열의 Index값) 중 하나의 값만 return해주면 됩니다. 결과 #include // you c..
2019. 10. 4.
[C++ 풀이] Codility - Lessons 7, (Stacks and Queues) Fish
이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 배열 A[]와 B[]가 주어지고 A의 배열 요소는 물고기의 크기를 나타냅니다. A배열의 index는 물고기의 순서를 나타내고요. B배열은 해당 물고기가 위로 올라갈지 밑으로 내려갈지 구분해주는 요소입니다. B의 배열 값은 0과 1로만 주어지며 0은 물고기가 상류로, 1은 물고기가 하류로 가는 설정입니다. 글로만 읽으면 이해가 안가실태니 그림을 첨부하겠습니다. A[] = { 4, 3, 2, 1, 5}, B[] = { 0, 1, 0, 0, 0} 이라고 가정했을 때 이런식이 됩니다. 상류로 가는 물고기와 하류로 가는 물고기가 만나면 큰녀석이 잡아먹습니다. 단, 물고기의 이동속도는 동..
2019. 9. 28.
[C++ 풀이] Codility - Lessons 6, (Sorting) Triangle
이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 A[] 배열이 주어지고 A의 범위는 0 ~ 100,000. A배열의 각 원소의 값은 −2,147,483,648 ~ 2,147,483,647. A배열의 원소중 다음의 조건식을 만족하는 결과를 구하시오. A[P] + A[Q] > A[R], A[Q] + A[R] > A[P], A[R] + A[P] > A[Q]. 0 ≤ P < Q < R < N 위 예제인 A[0] = 10 A[1] = 2 A[2] = 5 A[3] = 1 A[4] = 8 A[5] = 20 이걸 보면 알 수 있습니다. 해당 조건을 만족하는 배열 원소는 A[0] = 10, A[2] = 5, A[4] = 8 입니다. 배열 ..
2019. 9. 2.
[C++ 풀이] Codility - Lessons 6, (Sorting) Distinct
이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 배열 A가 주어집니다. 배열의 길이는 0 ~ 100,000 까지 있을 수 있습니다. 배열의 요소는 값 범위는 -1,000,000 ~ 1,000,000 입니다. 배열 A의 요소들 중 중복값을 제외한 정수가 몇 개가 있는지 반환하면 되는 문제입니다. 위 예제에서는 1, 2 ,3 총 3개가 있으니 3을 return하면 됩니다. 결과 // you can use includes, for example: #include // you can write to stdout for debugging purposes, e.g. // cout
2019. 8. 18.
[C언어 풀이] Codility - Lessons 4, (Counting Elements) MissingInteger
이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 참~ 문재 대충 내는 것 같습니다. ㅡㅡ A[] 배열은 -1,000,000 ~ 1,000,000까지의 수가 있습니다. N은 배열의 길이입니다. 이 문제도 순열 문제 입니다. 만약 A[] 배열에 A = [1, 3, 6, 4, 1, 2] 이렇게 있다면 반환 값은 5 입니다. 왜냐하면 1 ~ 6까지의 숫자가 있는데, 1, 2, 3, 4, ?, 6 이렇게 있으니 말이죠. 만약 A = [1, 2, 3] 이렇게 있다면? 반환 값은 4 입니다. 순열이 완성되어 있으니 말이죠. A = [-1, -3] 이라면? 1을 반환 해야 합니다. 순열의 첫번째 수니깐 말이죠. 여기까지만 보면 쉽습니다. ..
2019. 2. 25.