728x90

Coding Problem 69

[프로그래머스/Lv1] - 나누어 떨어지는 숫자 배열

programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr 더보기 #include #include #include using namespace std; vector solution(vector arr, int divisor) { vector answer; vector::const_iterator iter = arr.begin(); while (iter != arr.e..

[프로그래머스/Lv1] - 수박수박수박수박수박수?

programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr UTF8에서 한글은 3 Byte를 사용한다는 것을 알고 있어야 풀 수 있는 문제 더보기 #include #include #include #include char* solution(int n) { // 리턴할 값은 메모리를 동적 할당해주세요. char* answer = (char*)malloc(sizeof(char*) * (n*3) + 1)..

[백준] 2447 - 별 찍기 - 10

www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 구글링을 통해 해답을 참고하여도 바로바로 이해하지 못 했던 문제, 분할 정복으로 생각하여 풀어야했다. 비어있는 공간의 규칙은 (1 == (row / N) % 3 && 1 == (col / N) % 3) 이다. 그 이외의 좌표에는 '*'이 찍힌다. 중단점을 이용해 함수의 수행과정을 확인해야 이해할 수 있었다. 더보기 #include void PrintStar(const int row, ..

[프로그래머스/Lv1] - 예산

programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 간단히 정렬 후 budget 보다 커지면 loop를 멈추는 식으로 계산할 수 있다. 더보기 #include #include #include #include using namespace std; int solution(vector d, int budget) { int answer = 0; const int dSize = d.size(); for (int lhs = 0; lhs < ..

[프로그래머스/Lv1] - 문자열을 정수로 바꾸기

programmers.co.kr/learn/courses/30/lessons/12925 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr memcpy()만을 이용해 코드를 구현하였고, atoi등을 이용하면 편리할 것이다. 더보기 #include #include #include #include int convert(char ch) { switch (ch) { case '1': return 1; case '2': return 2; case '3': return 3; case..

[프로그래머스/Lv1] - 내적

programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 간단한 for()를 이용한 계산식 문제 더보기 #include #include #include // a_len은 배열 a의 길이입니다. // b_len은 배열 b의 길이입니다. int solution(int a[], size_t a_len, int b[], size_t b_len) { int ..

[프로그래머스/Lv1] - 음양 더하기

programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 더보기 #include #include #include // absolutes_len은 배열 absolutes의 길이입니다. // signs_len은 배열 signs의 길이입니다. int solution(int absolutes[], size_t absolutes_len, bool signs[], size_t signs_len) { int answer ..

[프로그래머스/Lv1] - 두 개 뽑아서 더하기

programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 목록 중에서 한 개씩 뽑고 같은 index가 아니라면 더하는 것이다. 중복제거 또한 해야함 을 써도 되지만 문제가 C만을 사용해서 쓰라는 것 같길래 for()문 2개를 활용한 오름차순 정렬을 사용했는데, 통과가 된다. 실제적으로 속도를 높이며련 퀵 정렬, 합병 정렬, 힙 정렬을 쓰자. 더보기 #include #include #i..

[프로그래머스/Lv1] - 같은 숫자는 싫어

programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 중복된 숫자들을 지우는 문제이며, 효율성 검사 또한 실시한다. iterator를 이용해 이전 prevNum과 비교하며 답을 반환한다. 더보기 #include #include #define MAX_SIZE 1000000 using namespace std; vector solution(vector arr) { vector answer; vector::..

[프로그래머스/Lv1] - 가운데 글자 가져오기

programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 오로지 C 언어로만 사용하라는게 목적인지는 잘 모르겠다. 더보기 #include #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. char* solution(const char* s) { // return 값은 malloc 등 동적 할당을 ..

반응형