본문 바로가기
반응형

코딩테스트/Codility27

[C++ 풀이] Codility - Lessons 10 (Prime and composite numbers), Flags // you can use includes, for example: // #include // you can write to stdout for debugging purposes, e.g. // cout A[A.size() - 2]){ v.pop_back(); v.emplace_back(A.size() - 1); } int flag = 2; while(true){ int num = v[0]; for(int i = 1; i flag){ count++; num = v[i]; if(flag == count){ cmp = count; count = 1; break; } } } if(flag > cmp) return cmp; flag++; } }​ ht.. 2020. 3. 26.
[C++ 풀이] Codility - Lessons 9 (Maximum slice problem), MaxDoubleSliceSum 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 더블 슬라이스라는 키워드를 문제에서 정의 합니다. 더블 슬라이스는 (X, Y, Z)로 구성되며 X < Y Y < Z 로 값의 조건이 주어 집니다. A배열의 index중 Y값을 기준으로 왼쪽과 오른쪽으로 나눕니다. Y값은 변경될 수 있으며 X와 Z의 기준도 변경될 수 있습니다. 이 과정에서 X ~ Y값중 최대 합과 Y ~ Z값 중 최대 합을 구한 후 이 최대합끼리 더했을 때 가장 높은 수를 구하는 문제입니다. 그리고 배열의 맨 앞과 맨 끝 값은 제외하며 X,Y,Z가 붙어있을 경우(slice(3,4,5)) 0으로 처리합니다. 결과 // you can use includes, for.. 2019. 12. 10.
[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 9 (Maximum slice problem), MaxProfit 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 배열 A가 주어집니다. A의 길이는 0 ~ 400,000까지 있으며 A[N]의 각 요소들은 0 ~ 200,000의 값을 지닐 수 있습니다. 배열 각 요소별 차가 가장 적은 값을 구하면 되는데 여기서의 범위는 다음과 같습니다. 0 2019. 11. 4.
[C++ 풀이] Codility - Lessons 8 (Leader), EquiLeader 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 이 문제는 생각보다 이해하는데 어려움이 있습니다. 똥같은 문제.... 이 문제에 대한 설명은 다음과 같습니다. 배열 A가 주어지고 배열 A의 요소는 -1,000,000,000 ~ 1,000,000,000 이고 배열의 길이는 1 ~ 100,000 입니다. 여기서 리더를 뽑아야 하는데 해당 리더는 2가지 조건이 있습니다. 1. 가장 많이 중복되는 값. 2. 배열 길이의 절반 값보다 더 많이 나오는 경우. 위 두가지를 만족해야 해당 요소를 리더라고 칭합니다. 문제의 예제에서 보면 4가 리더입니다. 마지막으로 문제에서 원하는 return 값은 배열을 1 ~ N개로 쪼갰을 때 해당 리더.. 2019. 10. 7.
[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) Nesting 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 배열 S에 대해 '('와 ')'이 대칭을 이루면 1반환, 아니면 0반환. 배열 S가 아무것도 없어도 1반환. 배열의 길이는 0 ~ 1,000,000 배열 S의 요소는 무조건 '(' or ')' 결과 // you can use includes, for example: // #include #include // you can write to stdout for debugging purposes, e.g. // cout 2019. 9. 29.
[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 7, (Stacks and Queues) Brackets 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 '(', '{', '[' 문자가 있는 문자열 S에 대해 문자열이 서로 대칭이 되는지 않되는지를 구하는 문제입니다. "{[()()]}" 는 서로 대칭임으로 1을 반환. "([)()]" 는 서로 대칭이 아님으로 0을 반환. 즉, 0 or 1 을 반환하면 되는 문제입니다. 여기서 'S'문자열의 최대 길이는 200,000이고 문자열의 원소는 '(', ')', '{', '}', '[', ']' 만 들어 있습니다. 또한 빈 문자열이 들어오면 1을 반환해 주면 됩니다. 결과 #include using namespace std; int solution(string &S) { // write.. 2019. 9. 22.
[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 6, (Sorting) MaxProductOfThree 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 배열 A가 주어 집니다. 배열 A의 요소에는 -1,000 ~ 1,000의 정수가 있습니다. 배열 A의 요소중 3개를 곱했을 때 가장 큰 수를 return하는 문제입니다. 주의해야할 점은 총 3가지 입니다. 1. 모두 음수일 경우. 2. 음수 * 음수 = 양수 의 값이 양수 * 양수보다 클 경우. 3. 음수 * 음수의 곱이 양수 * 양수 의 곱보다 작을 경우. 애초에 Codility의 Lessons부분이 Sorting으로 되어 있는데..... 저는 그냥 무식한 방법으로 풀었습니다. ㅡㅡ. 결과 // you can use includes, for example: // #inclu.. 2019. 8. 9.
[C++ 풀이] Codility - Lessons 5, (Prefix Sums) CountDiv 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 정수 A ~ B까지의 범위에서 K로 나눴을 때 나머지가 0인 정수의 갯수를 구하시오. 예를들어 A = 6, B = 11, K = 3이라고 가정했을 때 return값은 3입니다. 6, 8, 10 이므로..... 너무나도 쉬운문제였습니다. ^^ 앞선 3개 문제는 정말 어려웠는데 말이죠.....;; 결과 // you can use includes, for example: // #include // you can write to stdout for debugging purposes, e.g. // cout 2019. 8. 8.
[C++ 풀이] Codility - Lessons 5, (Prefix Sums) MinAvgTwoSlice 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 대충 설명하자면 이렇습니다. 1. 정수가 저장된 N개의 배열을 준다. 2. N개의 배열에는 임의의 정수가 있으며 범위는 -10,000 ~ 10,000이다. 3. 이 배열 요소 중 2개 이상의 합의 평균 값 중 가장 작은 평균 값이 시작되는 index 번호를 구하라!! 예를 들어 A [0] = 4 A [1] = 2 A [2] = 2 A [3] = 5 A [4] = 1 A [5] = 5 A [6] = 8 이 있다고 가정할 때 가장 작은 평균 값은 A[1] + A[2] 입니다. 이 때 시작하는 index값인 1을 반환해 줘야 합니다. 다른 예를 들어보겠습니다. A [0] = 4 A.. 2019. 8. 4.
[C++ 풀이] Codility - Lessons 5, (Prefix Sums) GenomicRangeQuery 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 N 길이만큼의 랜덤한 문자열이 주어 집니다. (N의 크기는 1 ~ 100,000) 문자열의 구성은 A, C, G, T 이렇게 4가지 입니다. 중간에 스페이스바는 없으며 위 4개의 알파벳 조합의 문자열이 주어집니다. 알파벳은 다음과 같은 점수를 갖고 있습니다. A = 1, C = 2, G = 3, T = 4 위 문제는 주어진 범위 내에 4가지 알파벳으로 구성된 문자열 중 점수가 가장 작은 알파벳을 찾아내는 문제 입니다. 범위는 P와 Q로 주어 집니다. P와 Q 범위는 1 ~ 50,000이며(P[0] ~ P[49999]) 각 요소의 값은 0 ~ N-1 까지 있을 수 있습니다. P.. 2019. 8. 1.
반응형

스킨편집 -> html 편집에서