링크 : https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 문제 문제 풀이 문제에 나온 과정 그대로 따라하면 된다. 최댓값을 구한 후, (점수 / M * 100) 과정을 모두 더하면 된다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제 문제 풀이 이전 문제와 비슷한 아이디어를 사용하면 된다. 관건은 나머지 연산자를 얼마나 잘 활용하는가에 있다. C++ 상세 풀이 더보기 for (int i = 0; i > n; if (!arr[n % 42]++) sum++; } 42로 나눈 나머지를 구하는 것이므로 arr의 크기를 42로 설정한다. 또한 전역변수로 선언했으니 모두 0으로 초기화되어 있을 것이다. arr[n % 42]가 0이라면 if문에서 걸려 1..
링크 : https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제 문제 풀이 배열 인덱싱을 이용하면 된다. C++ 상세 풀이 더보기 while (result > 0) { arr[result % 10]++; result /= 10; } result를 10으로 나눈 나머지 값은 1의 자리 숫자일 것이다. 그 숫자를 인덱스로 갖는 arr의 위치를 찾아 +1을 해주고, result를 10으로 나누는 과정을 반복한다면 자연스레 숫자의 개수가 저장될 것이다. Python 상세 풀이 더보기 for i in rang..
링크 : https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 문제 문제 풀이 C++은 인덱스를 일일이 같이 계산해줘야 하고, 파이썬은 내장함수로 쉽게 해결된다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 문제 풀이 C++에서 구현한 것처럼 일일이 비교해서 최대, 최소를 구할 수도 있고 max/min 내장함수를 사용할 수도 있다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 문제 풀이 처음에 조금 막막했던 문제다. 어떻게 해결해야할지 감이 잡히지 않았었다. C++ 상세 풀이 더보기 간단하게 수학으로 구현해주면 된다. 10의 자리, 1의 자리를 추출해준 후 더한다. 그리고 do-while문을 돌며 처음과 같아질 때까지 루프를 돌면 된다. do { num = (num % 10) * 10 + ((num / 10) + (num % 10)) % 1..
링크 : https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 테스트 케이스의 개수와 종료 조건이 주어지지 않은 문제다. C++ 상세 풀이 더보기 while(std::cin >> A >> B) std::cout
링크 : https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 덧셈 출력하는 문제다! while문 조건만 살짝 신경써주면 된다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 문제 풀이 반복문 안에 조건문을 넣으면 간단하게 풀리는 문제다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 문제 문제 풀이 이전 문제보다 살짝 난이도가 올라갔다. C++과 파이썬 모두 논리는 비슷하다. N만큼의 공간이 계속 나타나니, i가 0부터 시작한다면 N - i - 1만큼 공백을 먼저 출력해주고 별을 출력하면 된다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 문제 문제 풀이 활용도가 무궁무진한 별 찍기 문제다. C++ 상세 풀이 더보기 for (int i=1; i
링크 : https://www.acmicpc.net/problem/11022 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 문제 문제 풀이 전 문제처럼 출력 양식만 잘 신경쓰면 되는 문제다! 코드 전문 C++ HTML 삽입 미리보기할 수 없는 소스 Python HTML 삽입 미리보기할 수 없는 소스 소감