목록백준 문제 풀이 (27)
프로그래머 대학생의 노트
https://www.acmicpc.net/problem/1000안녕하세요! 백준 2557번 문제인 'Hello World'에 대해 알아보겠습니다. 이 문제는 프로그래밍을 처음 배우는 분들에게 아주 기본적인 연습문제로, 파이썬을 통해 쉽게 해결할 수 있습니다.문제 설명입력: 없음출력: "Hello World!"를 출력하세요.이 문제는 출력 기능을 연습하는 데 큰 도움이 됩니다. 많은 사람들이 이 문제를 통해 첫 번째 코드를 작성하게 되며, 그만큼 의미가 깊습니다.해결 방법이 문제는 복잡한 알고리즘이 필요하지 않으며, 단순히 문자열 하나를 출력하면 됩니다. 파이썬에서는 print() 함수를 사용하여 콘솔에 출력을 할 수 있습니다.파이썬 코드 예시아래는 백준 2557번 문제를 해결하기 위한 간단한 파이썬 코..
https://www.acmicpc.net/problem/9095백준 9095번 문제인 '1, 2, 3 더하기'는 프로그래밍을 배우는 많은 사람들에게 인기 있는 문제입니다. 이 문제는 주어진 정수 n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 것입니다. 이 글에서는 문제를 해결하기 위한 접근 방법과 다이나믹 프로그래밍(DP)을 활용한 코드 구현에 대해 자세히 알아보겠습니다.문제의 핵심은 주어진 정수 n을 어떻게 1, 2, 3의 조합으로 표현할 수 있는지를 찾는 것입니다. 예를 들어 n이 4일 경우, 가능한 조합은 다음과 같습니다:1 + 1 + 1 + 11 + 1 + 21 + 2 + 12 + 1 + 12 + 21 + 33 + 1총 7가지 방법이 있습니다.이러한 방식으로 n에 대한 모든 조합을 찾..
1546번: 평균첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보www.acmicpc.net1. 문제 개요백준 1546번은 기존에 받은 점수들을 조정하여 새로운 평균을 구하는 문제입니다. 이 문제를 통해 배열과 반복문, 그리고 기본적인 수학 계산에 대한 이해를 높일 수 있습니다.2. 문제주어진 N개의 점수 중 최대 점수를 M이라고 할 때, 모든 점수를 점수/M*100으로 바꾸는 것입니다. 예를 들어, 3개의 점수가 각각 10, 20, 30이라면, 최대 점수인 30으로 나누고 100을 곱하여 점수를 조정합니다. 이렇게 조정한 점수들의 평균을 구하는 것이..
18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 문제 개요 백준 18110번 문제는 solved.ac라는 문제를 해결하는 과정에서의 난이도를 결정하는 문제입니다. 사용자들이 난이도를 평가하고, 그 중 일부를 제외한 평균을 구하는 방식으로 난이도를 결정합니다. 구체적으로, 상위와 하위 일정 비율의 평가를 무시하고, 나머지 평가의 평균을 내서 이를 반올림하여 최종 난이도를 결정합니다. 문제의 핵심은 올바른 데이터의 선택과 반올림 처리에 있습니다. C언어로 풀어보기 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`을 추가해서 줄바꿈을 하고, 이를 통해 개 모양을 출력합니다.
문제링크 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로 나눈 나머지..
안녕하세요! 이번에는 BOJ 10171번 "고양이" 문제를 C언어로 풀어보겠습니다. 문제 이해 이 문제는 고양이를 출력하는 문제입니다. 고양이의 모양을 정확하게 출력하는 것이 중요합니다. 고양이를 출력하는 방법은 문자 그대로 ASCII 아트를 이용해서 그리면 됩니다. 즉, 고양이의 모양을 문자로 표현해서 출력하면 됩니다. 문제에서 요구하는 출력 예시는 다음과 같습니다. ``` \ /\ ) ( ') ( / ) \(__)| ```이것을 문자열로 표현하면 다음과 같습니다. "\ /\\n ) ( \')\\n( / )\\n \\(__)|"문제에서는 이 문자열을 출력하도록 합니다. 문제 해결 C언어에서 문자열을 출력하는 방법은 여러 가지가 있습니다. `printf` 함수를 이용해서 문자열을 출력하거나..
문제링크 https://www.acmicpc.net/problem/2908 문제 이해 이번 문제는 세 자릿수 두 개를 입력받고, 이들의 숫자를 뒤집어서 크기를 비교하는 문제입니다. 예를 들어, 734와 893을 입력받았을 때, 각각을 뒤집은 수는 437과 398입니다. 이 중 더 큰 수는 437이므로, 이를 출력하면 됩니다. 문제 해결 방법 이 문제를 해결하기 위해서는 입력받은 숫자를 뒤집어서 크기를 비교하면 됩니다. 이때, 숫자를 뒤집는 방법은 다음과 같습니다. 1. 먼저, 숫자를 입력받습니다. 2. 입력받은 숫자를 10으로 나눈 나머지를 구합니다. 이 값을 새로운 숫자에 더합니다. 3. 입력받은 숫자를 10으로 나누어 몫을 구합니다. 4. 몫이 0이 될 때까지 2~3번 과정을 반복합니다. 예제1번을 ..
문제 링크 https://www.acmicpc.net/problem/10871 문제 이해 문제 링크에 들어가면 문제의 설명과 예시 입출력이 나와 있습니다. 이 문제에서는 두 가지의 입력값이 주어지는데, 첫 번째 입력값은 수열 A의 길이(N)이며, 두 번째 입력값은 수열 A입니다. 그리고 마지막으로, 정수 X가 주어집니다. 이때, 수열 A에서 X보다 작은 수를 찾아 그 수를 모두 출력하는 문제입니다. 문제 해결 방법 이 문제를 해결하기 위해서는 입력값으로 주어진 수열 A를 모두 읽어들인 다음, X보다 작은 수를 찾아 출력하면 됩니다. 그리고 X보다 작은 수를 찾기 위해서는 수열 A의 원소들을 하나씩 읽어들이면서, 그 값이 X보다 작은지 비교하면 됩니다. 그리고 만약 그 값이 X보다 작다면, 그 값을 출력하..