본문 바로가기
반응형

코딩테스트112

[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.
[C언어 풀이] Codility - Lessons 5, (Prefix Sums) PassingCars 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 배열 A[] 에는 0과 1로만 이뤄진 요소들이 있습니다. 이 문제는 0이 1을 몇번 지나치는지 구하는 문제입니다. 위 예제로 설명해 보자면 A[] = 이 있습니다. A[0] = 0 이므로 1을 총 3번 지납니다. A[2] = 0 이므로 1을 총 2번 지납니다. 리턴 값은 5를 반환해 주면 됩니다. 즉, 0 기준으로 앞에 1이 얼만큼 있나 구하는 것입니다. 단, 카운트 값은 1,000,000,000을 초과하면 안됩니다.! (문제 이해를 처음에 못해서 다른 사람이 설명 써 놓은걸 보고 알았습니다.) 결과 https://app.codility.com/demo/results/trai.. 2019. 2. 25.
[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.
[C언어 풀이] Codility - Lessons 4, (Counting Elements) MaxCounters 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 N = 리턴할 배열의 크기 A[] = 문제의 배열 요소 M = A[] 배열의 크기 A[] 의 배열 요소의 값에 따라 N크기의 배열의 값 증가. 단, A[]의 배열 요소 중 N값 보다 큰 값이 있을 경우 A[]의 배열 요소중 가장 큰 값으로 초기화. 예시 N = 5, M = 7, A[]의 요소는 아래와 같을 때. A[M] Arr[N] A[0] = 3 A[1] = 4 A[2] = 4 A[3] = 6 count) count = arr[A[i] - 1]; } if (flag == 0) result.C = arr; else { arrInput(arr, max, N); //max 값과 i.. 2019. 2. 22.
[C언어 풀이] Codility - Lessons 4, (Counting Elements) FrogRiverOne 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 개구리의 위치는 0부터 시작합니다. X값이 개구리가 가려는 지점의 길이 입니다. X값이 5라고 가정한다면...... 개구리 | 강 |도착지점 | | 0 | . . . . . | | | 이런 식으로 되어 있고 개구리가 건너가기 위해선 각 지점마다 나뭇잎이 떨어져야 합니다. 개구리 | 강 |도착지점 | | 0 | 1 2 3 4 5 | | | 강에 떨어지는 낙옆의 순서는 랜덤이고 중복이 될 수 있습니다. 문재의 예시를 풀어 쓰자면 A[0] = 1 2019. 2. 22.
[C언어 풀이] Codility - Lessons 4, (Counting Elements) PermCheck 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제 설명 배열의 순열을 찾는 문제 입니다. Codility - Lessons 3, (Time Complexity) PermMissingElem 2019. 2. 22.
728x90
반응형

스킨편집 -> html 편집에서