반응형

백준 126

[ C / C++ ] 백준 2792 보석 상자

문제 보석 공장에서 보석 상자를 유치원에 기증했다. 각각의 보석은 M가지 서로 다른 색상 중 한 색상이다. 원장 선생님은 모든 보석을 N명의 학생들에게 나누어 주려고 한다. 이때, 보석을 받지 못하는 학생이 있어도 된다. 하지만, 학생은 항상 같은 색상의 보석만 가져간다. 한 아이가 너무 많은 보석을 가져가게 되면, 다른 아이들이 질투를 한다. 원장 선생님은 이런 질투심을 수치화하는데 성공했는데, 질투심은 가장 많은 보석을 가져간 학생이 가지고 있는 보석의 개수이다. 원장 선생님은 질투심이 최소가 되게 보석을 나누어 주려고 한다. 상자에 빨간 보석이 4개 (RRRR), 파란 보석이 7개 (BBBBBBB) 있었고, 이 보석을 5명의 아이들에게 나누어 주는 경우를 생각해보자. RR, RR, BB, BB, B..

Algorithm/BAEKJOON 2022.03.28

[ C / C++ ] 백준 2776 암기왕

문제 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, 연종이 하루 동안 본 정수들을 모두 ‘수첩1’에 적어 놓았다. 그것을 바탕으로 그가 진짜 암기왕인지 알아보기 위해, 동규는 연종에게 M개의 질문을 던졌다. 질문의 내용은 “X라는 정수를 오늘 본 적이 있는가?” 이다. 연종은 막힘없이 모두 대답을 했고, 동규는 연종이 봤다고 주장하는 수 들을 ‘수첩2’에 적어 두었다. 집에 돌아온 동규는 답이 맞는지 확인하려 하지만, 연종을 따라다니느라 너무 힘들어서 여러분에게 도움을 요청했다. 동규를 도와주기 위해 ‘수첩2’에 적혀있는 순서대로, 각각의 수에 대하여, ‘수첩..

Algorithm/BAEKJOON 2022.03.27

[ C / C++ ] 백준 2753 윤년

문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. #define _CRT_SECURE_NO_WARNINGS #include #include int main() { int year; scanf("%d", &year); if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) printf("1"); else printf("0"); }

Algorithm/BAEKJOON 2022.03.26

[ C / C++ ] 백준 2752 세수정렬

문제 동규는 세수를 하다가 정렬이 하고싶어졌다. 숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다. 숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오. #include int main(){ int a, b, c, tmp; scanf("%d%d%d", &a, &b, &c); for(int i=0; ib){ tmp=a; a=b; b=tmp; } if(b>c){ tmp=b; b=c; c=tmp; } if(a>c){ tmp=c; c=a; a=tmp; } } printf("%d %d %d", a, b, c); }

Algorithm/BAEKJOON 2022.03.25

[ C / C++ ] 백준 2751 수 정렬하기 2

문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. #define _CRT_SECURE_NO_WARNINGS #include #include int num[1000001] = { 0, }; int compare(const void *a, const void *b) { if (*(int *)a > *(int *)b) return 1; else if (*(int *)a < *(int *)b) return -1; else return 0; } int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &num[i]); } qsort(num, n, sizeof(int), compare); for (i..

Algorithm/BAEKJOON 2022.03.24
반응형