분류 전체보기

coding_test/BAEKJOON

백준 4673번 C언어 풀이

https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 실버티어 문제로 넘어오면서 머리가 정말 아프다;; 각설하고, 이번 문제는 어느 수학자가 정의한 셀프넘버에 관한 문제이다. n이라는 자연수에 대해 자기자신과 자기자신의 자리수를 합하는 함수 d(n)이라고 하자(이때의 n을 생성자라고 한다). d(75) = 75+7+5 = 87이 된다. 또한 셀프 넘버는 d(n)을 통해 나올 수 없는, 즉 생성자가 없..

coding_test/BAEKJOON

백준 15596번 C언어 풀이

https://www.acmicpc.net/problem/15596 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Python 2, PyPy2, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net N개의 정수의 합을 구하는 함수를 구현하는 문제. 주어진 함수의 조건들을 충족하면 된다. #include long long sum(int *a, int n){ long long total = 0; for (int i=0; i

coding_test/BAEKJOON

백준 4344번 C언어 풀이

https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 입력받은 숫자의 분포중에서 평균보다 높은 비율을 구하는 문제. 입력받은 숫자들을 평균을 낸 후에 평균 이상인 숫자들의 비율을 구하면 끝난다. #include int main(){ int c, n, cnt; // 테스트케이스, 학생 수, 평균 넘은 사람 double avg; // 평균 scanf("%d", &c); //테스트 케이스 입력 for (int i = 0; i < c; i++) { avg = 0; // 평균과 평균 넘은사람 초기화 cnt = 0; scanf("%d",..

coding_test/BAEKJOON

백준 8958번 C언어 풀이

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net ox문제의 결과를 특정 규칙을 통해 점수로 반환하는 문제. o가 연속해서 나오는 경우 점수가 1점씩 가중된다. 예를 들어 OOXO인 경우, 점수는 1+2+0+1 = 4점이 된다. 결과값을 문자열로 받아 o가 연속일때의 가중치를 더하여 점수에 더하는 방식으로 풀었다. #include int main(){ char arr[81]; // 퀴즈 결과 int Tcase; // 테스트 케..

coding_test/BAEKJOON

백준 1546번 C언어 풀이

https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 시험 성적 N개를 받아 조작하는 문제. 산술평균(이하 평균)에 대한 지식이 조금만 있다면 쉽게 풀고 넘어갈 문제이다. 평균을 간단히 정의하면 총합을 개수로 나눈 값인데, 결국 더해진 변량들에 같은 조작을 행한다면, 일일이 요소들을 조작하는 것이 아닌 평균을 한번 조작하면 끝난다. 예를 들어 1, 2, 3이 있다고 하자. 평균은 2일 것이다. 하지만 이 요소들에 2씩 곱하고 1을 더하는 조작을..

coding_test/BAEKJOON

백준 3052번 C언어 풀이

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 10개의 정수를 입력받아 42로 나눈 후 서로 다른 나머지의 개수를 세는 문제. 일단 나머지를 배열에 모두 입력한 후에, 같은 값이 있을 때, 한 개를 빼고 전부 -1로 바꿔버려 나머지를 셀 때 무시하도록 만들었다. #include int main(){ int num; // 입력받을 정수 int cnt=0; // 서로 다른 나머지의 개수를 저장할 변수 int rest[10]; // 나머지를 저장할 배열 int i; // 반복문을 위한 인자 for(i = 0; i < ..

coding_test/BAEKJOON

백준 2577번 C언어 풀이

https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 세개의 세 자릿수 자연수를 입력받고, 이들을 곱한 값에서 각 자릿수들은 어떤 숫자로 이루어져 있는지 출력하는 문제. 만약 곱한 값이 123456789라면 0 1 1 1 1 1 1 1 1 1 와 같이 출력해야 한다. 그래서 생각해낸 방법이 곱한 값을 문자열로 바꿔서 한자리씩 비교하면 될 것이라고 판단했다. 곱한 값을 일일이 10의 n승꼴로 나누어 정수형 배열로 바꿔넣는 방법도 있겠으나, 코드가 더러워 질 것 같았다. 그런데 한가지 문제가 발생했다. 정수..

coding_test/BAEKJOON

백준 2562번 C언어 풀이

https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 입력받은 9개의 자연수중 최댓값을 찾고, 그 수가 몇번째로 입력되었는지 출력하는 간단한 문제. 하지만 간단할수록 실수하는 버릇은 좀 고쳐야겠다. 처음 풀이는 다음과 같았다. #include int main(){ int arr[9]; // 길이 9의 int형 배열 선언 int max = 0; // 최댓값을 찾을 int형 변수 int idx; // max의 위치를 찾을..

CodeJin
'분류 전체보기' 카테고리의 글 목록 (32 Page)