본문 바로가기

프로그램/C언어 1000제177

C언어 165제] 2005년 ICPC 서울지역예선 A번 OX퀴즈 출처 : 반크_세계유산 경복궁 문제]"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 예제 입력 1  5 OOXXOXXOOO OOXXOOXXOO .. 2024. 9. 12.
C언어 164제] 2006/2007 COCI 크로아티아 정보학 공개 경쟁 #1 나머지 출처 : 반크_세계유산 경복궁 문제]두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.  수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 예제 입력 1  1 2 3 4 5 6 7 8 9 10 예제 출력 1  10 각 수를 42로 나눈 나머지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이다. 예제 .. 2024. 9. 12.
C언어 163제] 2009/2010 COCI 크로아티아 정보학 공개 경쟁 #1 음계 출처 : 반크_세계유산 경복궁 문제]다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오. 입력 첫째 줄에 8개 숫자가 주어진다. 이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다. 출력 첫째 줄에 ascending, descending, mixed 중 하나를 출력한다. .. 2024. 9. 12.
C언어 162제] 2011년 ICPC 북아메리카 뉴욕지역예선 A번 문자열 반복 출처 : 반크_세계유산 창덕궁 문제]문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.  출력 각 테스트 케이스에 대해 P를 .. 2024. 9. 11.
C언어 161제] 2006년 한국정보올림피아드 지역본선 초등부 2번 숫자의 개수 출처 : 반크_세계유산 창덕궁 문제]세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 번째 줄까지 A × B × C의 결과.. 2024. 9. 10.
C언어 160제] 단어의 개수 구하기 출처 : 반크_세계유산 창덕궁 문제]영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. 예제 입력 1  The Curious Case of Benjamin Button 예제 출력 1  6예제 입력 2   The first character is a blank 예제 출력 2  6예제 .. 2024. 9. 10.
C언어 159제] 동적메모리를 활용한 최대값, 최소값 구하기 출처 : 반크_세계유산 창덕궁 문제]N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 예제 입력 1  5 20 10 35 30 7 예제 출력 1  7 35 출처 : 백준_10818  참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  #include  //malloc(), free() int main() {    int N;//정수의 개.. 2024. 9. 9.
C언어 158제] 2014년 ICPC 대전지역예선 ACM 호텔 출처 : 반크_세계유산 창덕궁 문제]ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터.. 2024. 9. 5.
C언어 157제] 2010년 한국정보올림피아드 지역본선 초등부 2번 주사위 게임 출처 : 반크_세계유산 창덕궁 문제]1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.  같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.  모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.   예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다.또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다.3개의 눈이 6, 2, 5로 주어지면 그 중 가장 큰 값이 6이므로 6×100으.. 2024. 8. 16.
C언어 156제] CosPro2급 기출문제 1차 문제3_시작 날짜와 끝 날짜의 사이 날짜구하기 출처 : 반크_세계유산 창덕궁 문제]출처 : CosPro2급 기출문제 1차 문제3 시작 날짜와 끝 날짜의 사이 날짜구하기 참고풀이]#include  #include  #include  int func_a(int month, int day){    int month_list[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};    int total = 0;    for(int i = 0; i       total += month_list[i] ;    total += day ;    return total - 1; } int solution(int start_month, int start_day, int end_month, int end_day) {    int.. 2024. 8. 12.
C언어 155제] CosPro2급 기출문제 1차 문제2_배열의 순서 뒤집기 출처 : 반크_세계유산 창덕궁 문제]출처 : CosPro2급 기출문제 1차 문제2 배열의 순서 뒤집기 참고풀이]#include  #include  #include  int* solution(int arr[], int arr_len) {     int left = 0;     int right = arr_len - 1;     while(left        int temp = arr[left];         arr[left] = arr[right];         arr[right] = temp;         left += 1;         right -= 1;     }     return arr; } int main() {     int arr[4] = {1, 4, 2, 3};     int a.. 2024. 8. 12.
C언어 154제] CosPro2급 기출문제 1차 문제1_369 게임 박수의 갯수는? 출처 : 반크_세계유산 창덕궁 문제]CosPro2급 기출문제 1차 문제1 369 게임 박수의 갯수는? 참고풀이]#include  #include  #include  int solution(int number) {    int count = 0;    for (int i = 1; i       int current = i;       while (current != 0) {          if (current%10==3 || current%10==6 || current%10==9 )             count++;          current /= 10;       }    }    return count; } int main() {     int number = 40;     int ret = .. 2024. 8. 12.
반응형