백준 문제 풀이29 백준 1436번 "solved.ac" --- c 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 문제 개요 백준 18110번 문제는 solved.ac라는 문제를 해결하는 과정에서의 난이도를 결정하는 문제입니다. 사용자들이 난이도를 평가하고, 그 중 일부를 제외한 평균을 구하는 방식으로 난이도를 결정합니다. 구체적으로, 상위와 하위 일정 비율의 평가를 무시하고, 나머지 평가의 평균을 내서 이를 반올림하여 최종 난이도를 결정합니다. 문제의 핵심은 올바른 데이터의 선택과 반올림 처리에 있습니다. C언어로 풀어보기 C언어로 이 문제를 푸.. 백준 문제 풀이/c언어 2024. 3. 25. 백준 1436번 "영화감독 숌" --- c 안녕하세요! 오늘은 백준 1436번 "영화감독 숌" 문제를 풀어보겠습니다. 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 문제 설명 666이 들어가는 수를 종말의 숫자라고 한다. 입력으로 N이 주어졌을 때, 숌이 N번째로 찍은 종말의 숫자를 출력하는 프로그램을 작성하시오. 입력 숫자 N이 주어진다. (1 ≤ N ≤ 10,000) 출력 N번째 종말의 숫자를 출력한다. 풀이 방법 N은 10,000보다 작거나 같은 자연수이며, N번째 영화의 제목은 세상의 종말 (N번째로 작은 종말의 수)와 같습니다. 아래는 이.. 백준 문제 풀이/c언어 2024. 2. 29. 백준 25083 C언어 문제 풀이 - 새싹 #include int main() { // 이 C 프로그램은 아래와 같은 ASCII 아트를 출력합니다: // // ,r'"7 // r`-_ ,' ,/ // \. ". L_r' // `~\/ // | // | // 위의 ASCII 아트를 출력하기 위해 printf 함수를 사용합니다. printf(" ,r'\"7\n"); // 첫 번째 줄 출력 printf("r`-_ ,' ,/\n"); // 두 번째 줄 출력 printf(" \\. \". L_r'\n"); // 세 번째 줄 출력 printf(" `~\\/\n"); // 네 번째 줄 출력 printf(" |\n"); // 다섯 번째 줄 출력 printf(" |\n"); // 여섯 번째 줄 출력 return 0; // 프로그램 종료 } 이 C 프로그램은 간단.. 백준 문제 풀이/c언어 2024. 1. 28. 백준 10172 C언어 문제 풀이 - 개 문제 링크:https://www.acmicpc.net/problem/10172 문제 이해 이 문제는 개를 출력하는 문제입니다. 아래와 같은 개 모양을 출력하면 됩니다. |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__| 문제 해결 #include int main() { printf("|\\_/|\n"); printf("|q p| /}\n"); printf("( 0 )\"\"\"\\\n"); printf("|\"^\"` |\n"); printf("||_/=\\\\__|\n"); return 0; } `\n`은 줄바꿈 문자입니다. 따라서 위 코드는 각 줄의 끝에 `\n`을 추가해서 줄바꿈을 하고, 이를 통해 개 모양을 출력합니다. 백준 문제 풀이/c언어 2024. 1. 28. 백준 3052 C언어 문제 풀이 - 나머지 문제링크 https://www.acmicpc.net/problem/3052 문제 이해 이 문제는 10개의 자연수를 입력받고, 이를 42로 나눈 나머지가 서로 다른 개수를 구하는 문제입니다. 즉, 10개의 자연수를 42로 나눈 나머지를 구하고, 서로 다른 나머지의 개수를 구하는 것이 목표입니다. 문제 해결 이 문제는 배열을 이용해서 각 자연수를 42로 나눈 나머지를 구하고, 나머지가 서로 다른 개수를 구하면 됩니다. 우선, 배열을 선언해서 10개의 자연수를 입력받습니다. #include int main() { int nums[10]; for (int i = 0; i < 10; i++) { scanf("%d", &nums[i]); } // 이후 처리 return 0; } 이제 각 자연수를 42로 나눈 나머지.. 백준 문제 풀이/c언어 2024. 1. 28. 백준 10171 C언어 문제 풀이 - 고양이 안녕하세요! 이번에는 BOJ 10171번 "고양이" 문제를 C언어로 풀어보겠습니다. 문제 이해 이 문제는 고양이를 출력하는 문제입니다. 고양이의 모양을 정확하게 출력하는 것이 중요합니다. 고양이를 출력하는 방법은 문자 그대로 ASCII 아트를 이용해서 그리면 됩니다. 즉, 고양이의 모양을 문자로 표현해서 출력하면 됩니다. 문제에서 요구하는 출력 예시는 다음과 같습니다. ``` \ /\ ) ( ') ( / ) \(__)| ```이것을 문자열로 표현하면 다음과 같습니다. "\ /\\n ) ( \')\\n( / )\\n \\(__)|"문제에서는 이 문자열을 출력하도록 합니다. 문제 해결 C언어에서 문자열을 출력하는 방법은 여러 가지가 있습니다. `printf` 함수를 이용해서 문자열을 출력하거나.. 백준 문제 풀이/c언어 2024. 1. 28. 백준 2908 C언어 문제 풀이 - 상수 문제링크 https://www.acmicpc.net/problem/2908 문제 이해 이번 문제는 세 자릿수 두 개를 입력받고, 이들의 숫자를 뒤집어서 크기를 비교하는 문제입니다. 예를 들어, 734와 893을 입력받았을 때, 각각을 뒤집은 수는 437과 398입니다. 이 중 더 큰 수는 437이므로, 이를 출력하면 됩니다. 문제 해결 방법 이 문제를 해결하기 위해서는 입력받은 숫자를 뒤집어서 크기를 비교하면 됩니다. 이때, 숫자를 뒤집는 방법은 다음과 같습니다. 1. 먼저, 숫자를 입력받습니다. 2. 입력받은 숫자를 10으로 나눈 나머지를 구합니다. 이 값을 새로운 숫자에 더합니다. 3. 입력받은 숫자를 10으로 나누어 몫을 구합니다. 4. 몫이 0이 될 때까지 2~3번 과정을 반복합니다. 예제1번을 .. 백준 문제 풀이/c언어 2024. 1. 28. 백준 10871 C언어 문제 풀이 - X보다 작은 수 문제 링크 https://www.acmicpc.net/problem/10871 문제 이해 문제 링크에 들어가면 문제의 설명과 예시 입출력이 나와 있습니다. 이 문제에서는 두 가지의 입력값이 주어지는데, 첫 번째 입력값은 수열 A의 길이(N)이며, 두 번째 입력값은 수열 A입니다. 그리고 마지막으로, 정수 X가 주어집니다. 이때, 수열 A에서 X보다 작은 수를 찾아 그 수를 모두 출력하는 문제입니다. 문제 해결 방법 이 문제를 해결하기 위해서는 입력값으로 주어진 수열 A를 모두 읽어들인 다음, X보다 작은 수를 찾아 출력하면 됩니다. 그리고 X보다 작은 수를 찾기 위해서는 수열 A의 원소들을 하나씩 읽어들이면서, 그 값이 X보다 작은지 비교하면 됩니다. 그리고 만약 그 값이 X보다 작다면, 그 값을 출력하.. 백준 문제 풀이/c언어 2024. 1. 28. 백준 2577 C언어 문제 풀이 - 숫자의 개수 문제 링크: https://www.acmicpc.net/problem/2577 문제 요약 세 개의 자연수 A, B, C가 주어집니다. 이때 A x B x C를 계산한 결과에서 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 문제입니다. 문제 해결 방법 이 문제를 해결하기 위해서는 우선 A x B x C를 계산한 결과를 구해야 합니다. 그 다음에는 각 숫자가 몇 번 쓰였는지를 구하기 위해 각 자리수를 분리하고 그 자리수가 몇 번 나타나는지를 세어주어야 합니다. 여기서 주의해야 할 점은 A, B, C가 100 미만의 자연수라는 점입니다. 따라서 A x B x C는 최대 1,000,000이 되므로 그 자리수는 최대 6자리가 됩니다. 이를 고려하여 변수를 선언해줘야 합니다. 이제 문제를 해결하는 코드를 .. 백준 문제 풀이/c언어 2024. 1. 28. 백준 1259 C언어 문제 풀이 - 팰린드롬수 문제 어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다. 수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자. 따라서 문제 설명대로 만들면 #include int main(void) { int n; while (1) { scanf("%d", &n); if (n == 0) // 입력이 0이면 프로그램 종료 break.. 백준 문제 풀이/c언어 2024. 1. 28. 백준 1181 C언어 문제 풀이 - 단어 정렬 이 문제는 입력받은 문자열을 길이가 짧은 것부터, 길이가 같은 경우에는 사전 순으로 앞에 있는 것부터 출력하는 문제입니다. 우선, 문자열을 입력받은 후, 각 문자열의 길이와 문자열 자체를 저장해야 합니다. 이를 위해 구조체를 사용할 수 있습니다. 구조체는 여러 개의 변수를 묶어서 하나의 자료형으로 만들어주는 것입니다. 따라서, 길이와 문자열을 각각 변수로 만들어 구조체로 묶어주면 편리하게 처리할 수 있습니다.입력받은 문자열을 구조체 배열에 저장한 후, 구조체 배열을 정렬하여 출력합니다. 이때, 정렬 기준은 먼저 문자열의 길이를 기준으로 정렬하고, 길이가 같은 경우에는 문자열의 사전 순으로 정렬합니다. 문제를 풀면 아래 코드가 나옵니다.C 언어로 풀었습니다 #include #include #include .. 백준 문제 풀이/c언어 2024. 1. 28. 백준 1152 C언어 문제 풀이 - 단어의 개수 이 문제는 단어의 개수를 세는 문제입니다. 우선, 문장을 입력받기 위해서는 scanf 함수를 사용합니다. 그리고 입력받은 문자열을 공백으로 구분하여 단어의 개수를 셉니다. 이때, 단어를 구분하는 공백이 여러 개인 경우를 처리하기 위해서, 공백이 아닌 문자가 나올 때마다 word_count 변수를 증가시켜 줍니다. 문제를 풀면 아래 코드가 나옵니다. #include int main() { char c; int word_count = 0; int is_word = 0; while (scanf("%c", &c) == 1) { if (c == ' ' || c == '\n') { is_word = 0; } else if (!is_word) { is_word = 1; word_count++; } } printf(".. 백준 문제 풀이/c언어 2024. 1. 28. 이전 1 2 3 다음