코딩 | 알고리즘 & 문제풀이/백준_Backjoon

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 문제의 키 포인트 1. d(75) = 75+7+5 = 87 과 같은 식으로 나아간다는 규칙. 2. 최종 수는 10000보다 작다는 점. 소스코드(SourceCode) #include #include #define N 10001 // 10000보다 작은 수 이므로 int self_number(int n); // 셀프넘버 함수 선언 bool arr[N..
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 문제의 키포인트 1. 함수 작성하기 함수: long long sum(int *a, int n) 2. n: 합을 구해야 하는 정수의 개수 1
https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 이번 문제는 학생들의 점수를 입력받아 평균을 구한 뒤, 이 중 평균을 넘는 학생의 비율을 구하는 것입니다. 문제의 키 포인트 1. 이전 문제와 동일하게 첫째 줄에는 테스트 케이스의 개수를 입력받는 점. 2. 둘째 줄에는 각 테스트 케이스마다 학생의 수와 함께 점수가 주어진다는 점. 3. 학생의 수 N의 범위는 1
https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 이번에 풀어볼 문제는 8958번의 OX퀴즈입니다. 문제의 키포인트 1. 연속된 O의 경우 1씩 수가 증가하고, X일 때는 0으로 초기화된다. 2. 첫째 줄에는 테스트 케이스의 개수가 주어진다. 3. 각 테스트 케이스는 0보다 크고 80보다 작은 문자열이다. 해결방안 1. 테스트 케이스 개수를 받아올 변수를 선언해줍니다. 2. 연속된 수를 카운트할 변수를 선언해줍니다. 3. 총합..
https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 이번 문제는 평균조작하기 문제입니다. 문제의 키 포인트 1. 첫번째 줄에 시험 본 과목의 개수 N을 입력받는다. 2. 두번째 줄에 각 과목별 점수를 입력받는다. 3. 과목별 점수 중 최대값을 이용하여 새로운 평균을 계산한다. 4. 방법은 모든 기존 점수들을 기존 점수 = 기존 점수/최대값*100 으로 교체한 후 평균을 계산한다. 5. 평균은 소수점 자리까지 나와야 하므로 정수형이 아닌 실수형..
https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제의 키 포인트 1. 입력받은 수를 42로 나눈다는 점 해결 방안 1. 입력받은 수를 42로 나눠서 해당 배열을 카운트한다. 2. 나누기: 'A/B' , 나머지: 'A%B' 3. 각 배열에서 카운트가 1보다 크다면 최종 서로 다른 나머지를 카운트한다. 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #define arr_size 42 #define count_size 10 int main(void) { int i, number; /..
https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제의 키 포인트 1. 문제를 잘 읽어야 한다. (필자는 처음에 각 주어지는 숫자마다 개수를 구하는 것이라고 착각했었음) 2. 주어지는 자연수 3개를 곱한 뒤 해당 값에서 각 자리에 쓰인 숫자 수를 구하는 것 해결방안 1. 우선 수를 받아올 변수들을 선언해주어야 한다. 2. 받아온 수를 곱해서 최종 변수에 저장해야 한다. 3. 최종 변수를 가지고 각 자리 수에 사용된 수를 카운트한다. Hint: 1234= 1*1000+2*100+3*10+4*1 4. ..
https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 문제의 키 포인트 1. 9개의 수를 입력 받는다. 2. 마지막 출력으로 최대값과 최대값이 몇 번째 수인지 출력한다. 해결방안 1. 9개의 수를 입력받기 위해 배열을 사용한다. 2. 반복문을 통해 값을 입력받으면서 현재 저장된 최대값과 비교한다. 3. 이 때, 비교값이 최대값보다 크다면 해당 값을 최대값에 저장하고 위치값도 변경해준다. 소스코드 #define _CRT..
PatienceLee
'코딩 | 알고리즘 & 문제풀이/백준_Backjoon' 카테고리의 글 목록 (5 Page)