라벨이 코테인 게시물 표시

추천글

2025 타임지 세계 영향력 100인에 포함된 한국인

  이재명 (지도자 부문) 로제 (Rosé) (개척자 부문) 1. 이재명 (지도자 부문) 배경 : 이재명은 대한민국의 야당 지도자이자 더불어민주당 전 대표로, 차기 대통령 선거의 유력 후보로 평가받고 있습니다. 농부 가정에서 태어나 어려운 어린 시절을 보냈으며, 공장에서 일하다 손목 부상을 당한 경험을 가지고 있습니다. 그는 성남시장과 경기도지사를 역임했으며, 2022년 대통령 선거에서 윤석열에게 근소한 차이로 패배했습니다. 최근 활동 : 2024년 1월 목에 칼에 찔리는 공격을 견뎌냈고, 같은 해 12월 윤석열 대통령의 계엄령 선언 이후 탄핵을 주도했습니다. 특히, 경찰 봉쇄를 뚫고 국회 울타리를 넘는 장면이 생중계되며 큰 주목을 받았습니다. 영향력 : 타임지는 이재명의 정치적 저항력과 리더십을 높이 평가하며, 그가 대통령에 당선될 경우 북한의 위협과 글로벌 무역 전쟁 등 복잡한 과제에 직면할 것이라고 언급했습니다. 인용구 : “세상을 배우는 방법은 많지만, 직접 살아보고 경험하는 것은 다르다” (2022년 타임 인터뷰). 작성자 : Charlie Campbell (타임 편집장 대행). 2. 로제 (Rosé, 개척자 부문) 배경 : 로제(본명: Roseanne Park)는 세계적인 K-팝 걸그룹 블랙핑크의 멤버로, 뉴질랜드에서 태어나 호주에서 자란 한국계 아티스트입니다. 블랙핑크는 전 세계적으로 가장 성공한 걸그룹 중 하나로, 로제는 팀 활동뿐 아니라 솔로 아티스트로서도 두각을 나타내고 있습니다. 최근 활동 : 2024년 10월, 브루노 마스(Bruno Mars)와의 협업 곡 “APT.”를 발표하며 글로벌 차트에서 큰 성공을 거두었습니다. 이 곡은 빌보드 글로벌 200 1위, 미국 빌보드 핫 100 8위(최고 순위 3위), 한국 써클 디지털 차트 1위를 기록하며 전 세계적으로 화제가 되었습니다. 유튜브 뮤직비디오는 1월에 10억 뷰를 돌파하며 역대 가장 빠른 기록 중 하나를 세웠습니다. 2024년 12월, 첫 솔로 정규...

코테 - 피라미드 패턴 생성 5가지 방법

피라미드 패턴은 코딩 테스트에서 자주 등장하는 출력 문제로, 반복문을 활용해 다양한 모양을 생성합니다. 아래는 C 언어를 사용해 피라미드 패턴을 생성하는 5가지 방법으로, 코딩 테스트 준비에 유용합니다. 방법 1: 기본 별 피라미드 중앙에 정렬된 기본 별(*) 피라미드를 출력합니다. 각 행은 2*i-1개의 별을 포함합니다. #include <stdio.h> void printPyramid(int n) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) printf(" "); for (int j = 1; j <= 2 * i - 1; j++) printf("*"); printf("\n"); } } int main() { int n; printf("피라미드 높이를 입력하세요: "); scanf("%d", &n); printPyramid(n); return 0; } 방법 2: 숫자 피라미드 각 행에 증가하는 숫자를 출력하는 피라미드입니다. 숫자는 행 번호를 반복합니다. #include <stdio.h> void printPyramid(int n) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) printf(" "); for (int j = 1; j <= i; j++) printf("%d ", i); printf("\n")...

코테 - 원의 면적 계산 5가지 방법

원의 면적은 A = π * r^2 공식으로 계산됩니다. 아래는 C 언어를 사용해 반지름을 입력받아 원의 면적을 계산하는 5가지 방법으로, 코딩 테스트 준비에 유용합니다. 방법 1: 상수 PI 사용 고정된 PI 값을 상수로 정의하여 면적을 계산합니다. #include <stdio.h> #define PI 3.14159265359 double calculateArea(double radius) { return PI * radius * radius; } int main() { double radius; printf("반지름을 입력하세요: "); scanf("%lf", &radius); printf("원의 면적: %.2f\n", calculateArea(radius)); return 0; } 방법 2: math.h의 M_PI 사용 math.h 라이브러리의 M_PI 상수를 사용하여 면적을 계산합니다. #include <stdio.h> #include <math.h> double calculateArea(double radius) { return M_PI * radius * radius; } int main() { double radius; printf("반지름을 입력하세요: "); scanf("%lf", &radius); printf("원의 면적: %.2f\n", calculateArea(radius)); return 0; } 방법 3: 사용자 정의 PI 함수 PI를 수학적으로 근사 계산(예...

코테 - 카데인 알고리즘 구현 5가지 방법

카데인 알고리즘은 배열에서 최대 부분 배열 합을 찾는 효율적인 방법입니다. 아래는 C 언어를 사용해 카데인 알고리즘을 구현한 5가지 방법으로, 코딩 테스트 준비에 유용합니다. 방법 1: 기본 카데인 알고리즘 기본적인 카데인 알고리즘으로, 현재 합과 최대 합을 비교하며 배열을 순회합니다. #include <stdio.h> int maxSubArray(int arr[], int n) { int max_sum = arr[0], current_sum = arr[0]; for (int i = 1; i < n; i++) { current_sum = (current_sum + arr[i] > arr[i]) ? current_sum + arr[i] : arr[i]; max_sum = (max_sum > current_sum) ? max_sum : current_sum; } return max_sum; } int main() { int arr[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4}; int n = sizeof(arr) / sizeof(arr[0]); printf("최대 부분 배열 합: %d\n", maxSubArray(arr, n)); return 0; } 방법 2: 카데인 알고리즘 (음수 처리 명시적) 음수 배열을 명시적으로 처리하며, 초기 값을 INT_MIN으로 설정해 모든 경우를 다룹니다. #include <stdio.h> #include <limits.h> int maxSubArray(int arr[], int n) { int max_sum = INT_MIN, current_sum = 0; for (int i...

코테 - 최소공배수(LCM) 찾기 5가지 방법

최소공배수(LCM)는 두 숫자가 동시에 나누어지는 가장 작은 수입니다. 아래는 C 언어를 사용해 두 숫자의 LCM을 찾는 5가지 방법으로, 코딩 테스트 준비에 유용합니다. 방법 1: GCD를 이용한 LCM (유클리드 알고리즘 반복) LCM(a,b) = (a * b) / GCD(a,b) 공식을 사용하며, GCD는 반복적 유클리드 알고리즘으로 계산합니다. #include <stdio.h> int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; } long long lcm(int a, int b) { return ((long long)a * b) / gcd(a, b); } int main() { int a = 12, b = 18; printf("LCM(%d, %d) = %lld\n", a, b, lcm(a, b)); return 0; } 방법 2: GCD를 이용한 LCM (유클리드 알고리즘 재귀) 재귀적 유클리드 알고리즘으로 GCD를 구한 후, LCM 공식을 적용합니다. #include <stdio.h> int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } long long lcm(int a, int b) { return ((long long)a * b) / gcd(a, b); } int main() { int a = 12, b = 18; printf("LCM(%d, %d) = %lld\n", a, b, lcm(a, b)); r...

코테 - 최대공약수(GCD) 찾기 5가지 방법

최대공약수(GCD)는 두 숫자의 공통된 약수 중 가장 큰 값입니다. 아래는 C 언어를 사용해 두 숫자의 GCD를 찾는 5가지 방법으로, 코딩 테스트 준비에 유용합니다. 방법 1: 유클리드 알고리즘 (반복) 유클리드 알고리즘을 반복문으로 구현하여 두 숫자를 나눈 나머지를 이용해 GCD를 계산합니다. #include <stdio.h> int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; } int main() { int a = 48, b = 18; printf("GCD(%d, %d) = %d\n", a, b, gcd(a, b)); return 0; } 방법 2: 유클리드 알고리즘 (재귀) 유클리드 알고리즘을 재귀적으로 구현하여 간결하게 GCD를 계산합니다. #include <stdio.h> int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } int main() { int a = 48, b = 18; printf("GCD(%d, %d) = %d\n", a, b, gcd(a, b)); return 0; } 방법 3: 반복문을 통한 약수 나열 두 숫자의 약수를 나열하고 공통 약수 중 가장 큰 값을 찾습니다. #include <stdio.h> int gcd(int a, int b) { int min = a < b ? a : b; in...

코테 - 파스칼 삼각형 n번째 행 반환 5가지 방법

파스칼 삼각형의 n번째 행은 이항계수를 나타내며, 각 요소는 C(n,k)로 계산됩니다. 아래는 C 언어를 사용해 n번째 행을 반환하는 5가지 방법으로, 코딩 테스트 준비에 유용합니다. (n은 0-based 인덱스) 방법 1: 조합 공식 사용 이항계수 C(n,k)를 직접 계산하여 n번째 행을 생성합니다. #include #include long long binomial(int n, int k) { if (k < 0 || k > n) return 0; long long res = 1; for (int i = 0; i < k; i++) { res *= (n - i); res /= (i + 1); } return res; } int* getRow(int n, int* returnSize) { *returnSize = n + 1; int* row = (int*)malloc((n + 1) * sizeof(int)); for (int k = 0; k <= n; k++) { row[k] = (int)binomial(n, k); } return row; } int main() { int n = 4, returnSize; int* row = getRow(n, &returnSize); printf("행 %d: ", n); for (int i = 0; i < returnSize; i++) { printf("%d ", row[i]); } printf("\n"); free(row); return 0; } 방법 2: 이전 행에서 계산 파스칼 삼각형의 속성을 ...

코테 - 팰린드롬 확인 프로그램 5가지 방법

팰린드롬 숫자는 앞뒤로 읽어도 동일한 숫자입니다. 아래는 C 언어를 사용해 숫자가 팰린드롬인지 확인하는 5가지 방법으로, 코딩 테스트 준비에 유용합니다. 방법 1: 숫자 반전 숫자의 각 자릿수를 추출해 전체 숫자를 반전시킨 후 원래 숫자와 비교합니다. #include <stdio.h> int isPalindrome(int num) { if (num < 0) return 0; long long reversed = 0, original = num; while (num > 0) { reversed = reversed * 10 + num % 10; num /= 10; } return reversed == original; } int main() { int num = 12321; printf("%d는 %s\n", num, isPalindrome(num) ? "팰린드롬입니다" : "팰린드롬이 아닙니다"); return 0; } 방법 2: 문자열로 변환 숫자를 문자열로 변환한 후 양쪽 끝에서부터 문자를 비교합니다. #include <stdio.h> #include <string.h> int isPalindrome(int num) { if (num < 0) return 0; char str[20]; sprintf(str, "%d", num); int len = strlen(str); for (int i = 0; i < len / 2; i++) { if (str[i] != str[len - 1 - i]) return 0; } retu...

코테 - 암스트롱 수 확인 프로그램 5가지 방법

  암스트롱 수는 각 자릿수의 값을 해당 자릿수 개수만큼 거듭제곱한 합이 원래 수와 같은 수를 의미합니다(예: 153 = 1³ + 5³ + 3³). 다음은 5가지 구현 방법입니다: 기본 반복문 : 자릿수를 추출하고 거듭제곱을 계산하는 기본적인 방법. 재귀 함수 : 자릿수 계산과 합을 재귀적으로 처리. 문자열 변환 : 숫자를 문자열로 변환해 자릿수를 처리. 배열 사용 : 자릿수를 배열에 저장해 처리. 수학적 최적화 : 자릿수 계산을 최소화하는 방법. 암스트롱 수는 각 자릿수의 값을 자릿수 개수만큼 거듭제곱한 합이 원래 수와 같은 수입니다. 예를 들어, 153은 1³ + 5³ + 3³ = 153이므로 암스트롱 수입니다. 아래는 C 언어로 이를 확인하는 5가지 구현 방법입니다. 1. 기본 반복문 숫자의 자릿수를 추출하고, 각 자릿수를 자릿수 개수만큼 거듭제곱하여 합을 계산합니다. #include <stdio.h> #include <math.h> int countDigits(int num) { int count = 0; while (num > 0) { num /= 10; count++; } return count; } int isArmstrong(int num) { int original = num, sum = 0, digits = countDigits(num); while (num > 0) { int digit = num % 10; sum += pow(digit, digits); num /= 10; } return sum == original; } int main() { int num; printf("숫자를 입력하세요: "); scanf(...

코테 - 팩토리얼 계산 5가지 방법

팩토리얼은 수학에서 자주 등장하는 연산으로, 코딩테스트에서도 단골 문제입니다. 이번 포스트에서는 C언어를 사용해 팩토리얼을 계산하는 5가지 방법을 소개합니다. 각 방법은 성능과 코드 구조 면에서 차이가 있으니, 상황에 맞게 활용해보세요! 1. 반복문(Iterative) 방식 가장 직관적인 방법으로, 루프를 사용해 1부터 n까지 곱합니다. 메모리 효율이 좋고 스택 오버플로우 위험이 없습니다. #include <stdio.h> unsigned long long factorial_iterative(int n) { unsigned long long result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } int main() { int n = 5; printf("%d! = %llu\n", n, factorial_iterative(n)); return 0; } 장점: 간단하고 빠름. 단점: 큰 숫자에서 오버플로우 가능성. 2. 재귀(Recursive) 방식 수학적 정의를 그대로 코드로 옮긴 방식입니다. n! = n × (n-1)!를 재귀 호출로 구현합니다. #include <stdio.h> unsigned long long factorial_recursive(int n) { if (n == 0 || n == 1) return 1; return n * factorial_recursive(n - 1); } int main() { int n = 5; printf("%d! = %llu\n", n, factorial_recursive(n)); retu...

코테 - 이차방정식 근 찾기 5가지 방법

이차 방정식 ( ax^2 + bx + c = 0 )의 모든 근을 찾는 프로그램을 C언어로 5가지 방법으로 구현해 보겠습니다. 이차 방정식의 근은 판별식 ( D = b^2 - 4ac )에 따라 결정됩니다: ( D > 0 ): 두 개의 서로 다른 실근 ( D = 0 ): 하나의 실근 (중근) ( D < 0 ): 두 개의 복소근 아래는 각기 다른 접근법으로 구현한 코드입니다. 복소근의 경우, C언어에서는 복소수 처리를 위해  complex.h  헤더를 사용합니다. 1. 기본 판별식 사용 알고리즘 설명 판별식 D = b² - 4ac 계산 D > 0: 두 개의 실근 D = 0: 중근 D < 0: 허근 계산 장단점 장점: 가장 직관적인 구현 방식 단점: 복소수 표현이 제한적 #include <stdio.h> #include <math.h> #include <complex.h> void solveQuadratic(double a, double b, double c) { double D = b*b - 4*a*c; if (D > 0) { double root1 = (-b + sqrt(D)) / (2*a); double root2 = (-b - sqrt(D)) / (2*a); printf("두 개의 실근: %.2f, %.2f\n", root1, root2); } else if (D == 0) { double root = -b / (2*a); printf("하나의 ...

코테 - 윤년인지 확인하는 프로그램 5가지 방법

윤년인지 확인하는 프로그램을 C언어로 5가지 방법으로 구현해 보겠습니다. 윤년 규칙은 다음과 같습니다: 4로 나누어 떨어지면 윤년 단, 100으로 나누어 떨어지면 윤년이 아님 단, 400으로 나누어 떨어지면 윤년 아래는 각기 다른 접근법으로 구현한 코드입니다. 방법 1: 기본 조건문 사용 가장 직관적인 방법으로, 윤년 규칙을 그대로 조건문으로 구현합니다. #include <stdio.h> int isLeapYear(int year) { if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) return 1; return 0; } int main() { int year; printf("연도를 입력하세요: "); scanf("%d", &year); if (isLeapYear(year)) printf("%d년은 윤년입니다.\n", year); else printf("%d년은 윤년이 아닙니다.\n", year); return 0; } 방법 2: 중첩 조건문 사용 규칙을 단계적으로 확인하는 중첩 조건문 방식입니다. #include <stdio.h> int isLeapYear(int year) { if (year % 4 == 0) { if (year % 100 == 0) { if (year % 400 == 0) return 1; return 0; } return 1; } return 0; } int main(...

코테 - 이진수를 십진수로 변환하는 5가지 방법

이진수를 십진수로 변환하는 문제는 코딩 테스트에서 자주 등장하는 기본 문제입니다. 이 글에서는 C언어를 사용하여 이 문제를 해결하는 5가지 방법을 소개합니다. 각 방법은 서로 다른 알고리즘과 접근 방식을 사용하며, 코드와 함께 자세한 설명을 제공합니다. 1. 반복문을 사용한 기본 변환 이 방법은 이진수의 각 자릿수를 오른쪽에서 왼쪽으로 읽으며, 각 자릿수에 2의 거듭제곱을 곱해 십진수를 계산합니다. #include <stdio.h> int binaryToDecimal(long long binary) { int decimal = 0, base = 1; while (binary) { int digit = binary % 10; decimal += digit * base; base *= 2; binary /= 10; } return decimal; } int main() { long long binary; printf("이진수를 입력하세요: "); scanf("%lld", &binary); printf("십진수: %d\n", binaryToDecimal(binary)); return 0; } 설명: 입력된 이진수를 정수로 처리하고, 각 자릿수를 추출하여 2의 거듭제곱(base)을 곱합니다. 이 방법은 직관적이며, 입력이 긴 이진수일 때도 효과적입니다. 2. 문자열로 처리하는 방법 이진수를 문자열로 입력받아 각 문자를 처리하는 방법입니다. 문자열의 각 문자를 숫자로 변환하여 계산합니다. #include <stdio.h> #include <string.h> int binaryToDeci...

코테 - 소수 판별하기: 5가지 방법

코딩테스트에서 자주 등장하는 소수 판별 문제를 C언어로 구현한 5가지 방법을 소개합니다. 각 방법은 효율성과 구현 방식에서 차이가 있으며, 다양한 상황에 적합한 접근법을 제공합니다. 방법 1: 기본 반복문 가장 직관적인 방법으로, 2부터 입력 숫자의 절반까지 나누기를 시도하여 소수를 판별합니다. #include <stdio.h> int isPrimeBasic(int n) { if (n <= 1) return 0; for (int i = 2; i <= n / 2; i++) { if (n % i == 0) return 0; } return 1; } int main() { int num; printf("숫자를 입력하세요: "); scanf("%d", &num); if (isPrimeBasic(num)) printf("%d는 소수입니다.\n", num); else printf("%d는 소수가 아닙니다.\n", num); return 0; } 장점: 이해하기 쉽고 간단함 단점: 비효율적이며 큰 숫자에서 성능 저하 방법 2: 제곱근까지 확인 소수의 약수는 제곱근까지만 확인하면 충분하므로 반복 범위를 줄여 효율성을 높입니다. #include <stdio.h> #include <math.h> int isPrimeSqrt(int n) { if (n <= 1) return 0; if (n == 2) return 1; if (n % 2 == 0) return 0; for (int i = 3; i ...

코테 - C 언어로 세 숫자 중 가장 큰 수 찾기

코딩 테스트에서 자주 등장하는 문제 중 하나인 "세 숫자 중 가장 큰 수 찾기"를 C 언어로 5가지 방법으로 구현해 보았습니다. 각 방법은 간단하면서도 다양한 접근법을 보여주며, 초보자부터 숙련자까지 참고할 수 있습니다. 전체 코드 아래는 세 숫자를 입력받아 각 방법으로 최대값을 출력하는 C 언어 코드입니다. #include <stdio.h> // 공통 입력을 위한 변수 int a, b, c; int main() { // 세 숫자 입력 printf("세 숫자를 입력하세요: "); scanf("%d %d %d", &a, &b, &c); // 방법 1: if-else 문 사용 int max1; if (a >= b && a >= c) { max1 = a; } else if (b >= a && b >= c) { max1 = b; } else { max1 = c; } printf("방법 1 (if-else): %d\n", max1); // 방법 2: 삼항 연산자 사용 int max2 = (a >= b) ? ((a >= c) ? a : c) : ((b >= c) ? b : c); printf("방법 2 (삼항 연산자): %d\n", max2); // 방법 3: math.h의 fmax 사용 (정수형으로 캐스팅) #include <math.h> int max3 = (int)fmax(fmax(a, b), c); printf("방법 3 (fmax): %d\n", max3); // 방법 ...