분류 전체보기

coding_test/programmers

lv1 / 없는 숫자 더하기 / C, C++

https://programmers.co.kr/learn/courses/30/lessons/86051?language=c 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 0부터 9까지 배열에 없는 수를 더하는 문제. false 10개로 이루어진 배열을 만들고 있는 숫자를 true로 바꾼후에 false인 수를 더한다. #include #include #include // numbers_len은 배열 numbers의 길이입니다. int solution(int num..

coding_test/BAEKJOON

백준 1011번 C언어 풀이

https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 최소 이동 횟수를 구하는 문제. 어쩔 수 없이 직접 이동 거리를 써보면서 규칙을 찾아야 한다. 맨 마지막 이동거리는 1이어야만 하고 맨 처음 출발 역시 1로 시작해야 한다. 거리가 26일때 까지만 써보자 거리 (y-x) 이동 횟수 1 1 1 2 1 1 2 3 1 1 1 3 4 1 2 1 3 5 1 2 1 1 4 6 1 2 2 1 4 7 1 2 2 1 1..

coding_test/BAEKJOON

백준 2609번 C언어 풀이

https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 두수의 최대공약수와 최소공배수를 구하면 되는 문제. 최소공배수는 두수의 곱을 최대공약수로 나누면 되니 최대공약수만 구하면 된다. #include int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a % b); } int main () { int a, b, temp; scanf("%d %d", &a, &b); temp = gcd(a, b); printf("%d\n%d", temp, a*b/temp);..

coding_test/BAEKJOON

백준 2751번 C언어 풀이

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 분명 2750번보다 시간제한이 더 널널한데도 같은 퀵정렬 알고리즘으로 풀리지 않는걸 보니 테스트케이스가 난리가 났나보다. 단계별 풀이에서는 내장 정렬을 사용하는걸 추천한다고 했으니 내장정렬을 써보자. https://dojang.io/mod/page/view.php?id=638 를 참조했다. #include int compare(const void *a, const void *b) // ..

coding_test/BAEKJOON

백준 2750번 C언어 풀이

https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 퀵정렬로 풀었다. 최악의 시간복잡도가 O(n^2)인데 통과한걸 보니 테스트케이스가 좀 양심이 있었나보다. #include #include void quick_sort (int * arr, int start, int end) { int pivot = arr[(start + end) / 2]; /* 오름차순 */ int i = start, j = end; int temp; do { while (arr[i] <..

coding_test/BAEKJOON

백준 1356번 C언어 풀이

https://www.acmicpc.net/problem/1356 1356번: 유진수 첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다작거나 같은 자연수이다. www.acmicpc.net 유진수란 10진수 정수에서 두 부분으로 나누어 각각의 자리수를 곱했을 때 둘이 같은 수일 때 유진수라고 한다. 예를들어 1236은 123 / 6으로 나누면 6으로 같기 때문에 유진수이다. 또한 1221도 유진수이다. 하지만 1234는 유진수가 아니다. 이 문제를 풀면서 간과했던 한가지가, 한자리 숫자는 유진수로 취급하지 않는다는 것이다. 이를 몰라서 왜 틀렸지 하다가 계속 틀렸다. #include #include int main () { char ch[11]; int len; int n1, n2; in..

coding_test/programmers

lv1 / 수박수박수박수박수박수? / C

https://programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr 길이 n의 문자열에서 수, 박을 반복하는 문자열을 반환해야 하는 문제. 리턴할 문자열을 동적할당해야하는데, 무작정 sizeof(char) * n만큼 할당하면 끝없는 맞왜틀의 굴레에 빠진다. 한글은 영어와 다르게 한 글자임에도 여러바이트를 차지한다. 이는 컴파일러에 따라 차이가 있는데 msvs의 경우 2바이트, gcc의 경우 ..

대학교/프로그래밍랩

[프로그래밍 랩] 6주차 - 행렬, 구조체, 포인터

문제 1. 행렬연산 행렬의 합, 차를 return하는 함수를 작성하시오. #include #define ROWS3 #define COLS3 void print_matrix(int m[ROWS][COLS]) { int i, j; for (i = 0; i < ROWS; i++) { for (j = 0; j < COLS; j++) printf("%2d ", m[i][j]); printf("\n"); } } void add_matrix(int a[ROWS][COLS], int b[ROWS][COLS], int c[ROWS][COLS]) { int i, j; for (i = 0; i < ROWS; i++) for (j = 0; j < COLS; j++) c[i][j] = a[i][j] + b[i][j]; } vo..

CodeJin
'분류 전체보기' 카테고리의 글 목록 (22 Page)