BOJ

    [BOJ/백준] 2577번 숫자의 개수 C++ 문제 풀이

    단계별로 풀어보기 - 1차원 배열 - [3단계] 2577번 문제 문제 링크 : www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 입력 복사 : 150 266 427 풀이 입력 받은 숫자의 곱을 처리할 때, string으로 변환하여 처리하였다. 숫자로 처리하면 그 길이를 알기 어렵기 때문에 string으로 변환하여 각 문자의 숫자를 세었다. 숫자를 string으로 변환하는 데에는 to_string()함수를 사용하였다. num_result 배열에 값을 저장할 때 사용한 인덱스에서는 문자 0을 빼고 사용하였다. 그 이유..

    [BOJ/백준] 2562번 최댓값 C++ 문제 풀이

    단계별로 풀어보기 - 1차원 배열 - [2단계] 2562번 문제 문제 링크 : www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 입력 복사 : 3 29 38 12 57 74 40 85 61 풀이 지난 문제에서는 sort함수를 통해 배열을 정렬했지만, 최댓값의 위치를 알아야 하는 이번 문제에서는 그러한 방식을 사용하기는 어렵습니다. 따라서 입력 받은 수를 maxvalue에 저장된 값보다 클 경우, 값을 maxvalue에 저장하고 ..

    [BOJ/백준] 10818번 최소, 최대 C++ 문제 풀이

    단계별로 풀어보기 - 1차원 배열 - [1단계] 10818번 문제 문제 링크 : www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 입력 복사 : 5 20 10 35 30 7 풀이 algorithm 헤더파일 내부에 있는 sort함수를 이용하여 배열 내의 원소들을 오름차순으로 정렬했습니다. 입력 받은 값들을 각각 비교하여 최소, 최대 값을 도출할 수 있지만, 배열을 정렬하여 첫번째, 마지막 원소를 보여주는 방법을 택했습니다. s..

    [BOJ/백준] 1110번 더하기 사이클 C++ 문제 풀이

    단계별로 풀어보기 - while문 - [3단계] 1110번 문제 문제 링크 : www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 입력 복사 : > 예제 입력 1 26 > 예제 입력 2 55 > 예제 입력 3 1 > 예제 입력 4 0 CODE #include using namespace std; int main() { int n; int cnt = 0; int num, temp; cin >> n; num = n; while (1) { temp = ..

    [BOJ/백준] 10951번 A+B - 4 C++ 문제 풀이

    단계별로 풀어보기 - while문 - [2단계] 10951번 문제 문제 링크 : www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 입력 복사 : 1 1 2 3 3 4 9 8 5 2 풀이 간단하게 생각하여 다음과 같이 코드를 작성하면 '출력 초과' 결과가 뜬다. int a, b; while (1) { cin >> a >> b; cout a >> b; if(cin.eof() == true) { break; } cout a >> b) { cout

    [BOJ/백준] 10952번 A+B - 5 C++ 문제 풀이

    단계별로 풀어보기 - while문 - [1단계] 10952번 문제 문제 링크 : www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 입력 복사 : 1 1 2 3 3 4 9 8 5 2 0 0 CODE #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int a, b; while (1) { cin >> a >> b; if (a != 0 && b != 0) { cout

    [BOJ/백준] 10871번 X보다 작은 수 C++ 문제 풀이

    단계별로 풀어보기 - for문 - [11단계] 10871번 문제 문제 링크 : www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 입력 복사 : 10 5 1 10 4 9 2 3 8 5 7 6 CODE #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, x; int arr[10000] = {}; cin >..

    [BOJ/백준] 2439번 별 찍기 - 2 C++ 문제 풀이

    단계별로 풀어보기 - for문 - [10단계] 2439번 문제 문제 링크 : www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 입력 복사 : 5 CODE #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n - i - 1; j++) cout

    [BOJ/백준] 2438번 별 찍기 - 1 C++ 문제 풀이

    단계별로 풀어보기 - for문 - [9단계] 2438번 문제 문제 링크 : www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 입력 복사 : 5 CODE #include int main() { int N; scanf("%d", &N); for (int i = 0; i < N; i++) { for (int j = 0; j < i + 1; j++) { printf("*"); } printf("\n"); } } 결과

    [BOJ/백준] 11022번 A+B - 8 C++ 문제 풀이

    단계별로 풀어보기 - for문 - [8단계] 11022번 문제 문제 링크 : www.acmicpc.net/problem/11022 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 입력 복사 : 5 1 1 2 3 3 4 9 8 5 2 CODE #include using namespace std; int main() { int t; int a, b; cin >> t; for (int i = 1; i > a >> b; cout