본문 바로가기
728x90

코드업(codeup)/C55

[코드업(codeup)/C]코드업(codeup) 2024 : 숫자를 한글로 변환 C언어 ▶문제 : 숫자를 한글로 변환 (codeup.kr) 숫자를 한글로 변환 양의 정수 n이 입력된다. ( 0 0) //0이 아닐 때 { if (cUnit >= 4 && cUnit = 8) //"억"이 들어가야 될 때 { strcpy(string[len++], bUnit[1]); strcpy(bUnit[1], ""); //한번만 넣기 위해 } if (cUnit > 0) //"십","백","천"이 들어가야 될 때 { strcpy(string[len++], unit[cUnit - 1]); } strcpy(string[len++], .. 2021. 11. 27.
[코드업(codeup)/C]코드업(codeup) 1920 : (재귀함수) 2진수 변환 C언어 ▶문제 : (재귀 함수) 2진수 변환 (codeup.kr) (재귀함수) 2진수 변환 어떤 $10$진수 $n$이 주어지면 $2$진수로 변환해서 출력하시오. 예) 10 -----> 1010 0 -----> 0 1 -----> 1 2 -----> 10 1024 -----> 10000000000 이 문제는 반복문을 이용하여 풀 수 없습니 codeup.kr ▶코드 작성 #include void func(int n) { if (n > 1)// 1,0 은 2로 나눌 필요가 없음 { func(n / 2);//2로 나눈 몫으로 2진수를 구함 } printf("%d", n % 2);//2로 나눈 나머지 출력 } int main() { int n; scanf("%d", &n); func(n); return 0; } ▶해석 .. 2021. 11. 20.
[코드업(codeup)/C]코드업(codeup) 2633 : Lower Bound C언어 ▶문제 : Lower Bound (codeup.kr) Lower Bound 첫 줄에 한 정수 $n$과 찾고자 하는 값 $k$가 공백으로 구분되어 입력되고, 둘째 줄에 $n$개의 정수가 공백으로 구분되어 입력된다. (단, $2 arr[ct])//k값이 배열에 없을 때 { while (k 0) { if (k > arr[ct - 1]) break;//k값인 배열중 맨 앞 자리 찾기 else ct--; } } printf("%d", ct + 1); free(arr); return 0; } ▶해석 배열이 오름차순이므로 이분 탐색을 사용함. 중앙값을 이용하여 k값을 찾아냄. 2021. 11. 16.
[코드업(codeup)/C]코드업(codeup) 1173 : 30분전 C언어 ▶문제 : 30분 전 (codeup.kr) 30분전 입력된 시간의 30분 전의 시간을 출력하시오. codeup.kr ▶코드 작성 #include int main() { int h, m; scanf("%d %d", &h, &m); if (m >= 30)//30분 이상일 때 { printf("%d %d", h, m - 30); } else//30분 미만일 때 { if (h == 0)//0시라면 23시로 바뀐다 { printf("23 %d", 60 + m - 30); } else { printf("%d %d", h - 1, 60 + m - 30); } } return 0; } ▶해석 분(m)이 30분 이상, 미만으로 나누고 시(h)를 0시인지 아닌지로 나누어 계산 2021. 11. 16.
728x90