본문 바로가기
반응형

전체 글78

[BOJ/백준] 3052번 나머지 - [c/c++] 풀이 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제 해설 42로 나눈 나머지는 0 ~ 41이다. 입력된 10개의 수 중 42로 나눈 서로 다른 나머지의 개수를 세는 문제다. A를 10번 받으며 배열[A % 42] = true 로 한다. 마지막 줄에 배열을 돌며 true인 것의 개수를 세면 서로 다른 나머지의 개수가 나온다. 코드 c #include int main() { int a; bool cnt[42] = { false, }; int res = 0; for (int i = 0; i < 10; i++) { sc.. 2022. 10. 12.
[BOJ/백준] 2562번 최댓값 - [c/c++] 풀이 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 문제 해설 배열이 필요 없는 문제로 최댓값을 저장할 max 변수, 몇 번째 수인 지 저장할 idx 변수를 선언한다. max 변수는 입력되는 수의 최솟값인 0으로 초기화한다. 9번 동안 입력을 받으며 입력된 수가 max값 보다 클 경우 입력 된 수를 max에 대입, idx에 몇 번째에 입력되었는지 대입한다. 코드 c #define _CRT_SECURE_NO_WARNI.. 2022. 10. 11.
[BOJ/백준] - 10818번 최소, 최대 - [c/c++] 풀이 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 해설 배열이 필요 없는 문제로 최솟값 최댓값을 저장할 변수 min, max를 선언한다. min의 초기값은 정수의 최대값 1000000, max의 초기값은 정수의 최소값 -1000000으로 한다. t번 반복문을 돌려 정수를 입력 받아 min값 보다 작을 경우 입력받은 정수를 min에 대입, max값 보다 클 경우 입력 받은 정수를 max에 대입한다. 코드 c.. 2022. 10. 11.
[BOJ/백준] 1110번 더하기 사이클 - [c/c++] 풀이 https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 해설 26을 사이클 한 번 돌리면 2 + 6 = 8 -> 68이다. 84를 사이클 한 번 돌리면 8 + 4 = 12 -> 42이다. 빨간색 : 더하기 사이클 후 나온 수의 십의 자리 수 주황색 : 더하기 사이클 후 나온 수의 일의 자리 수 식으로 나타내면 n을 사이클 한 번 돌리면 n % 10 * 10 + (n / 10 + n % 10) % 10 이다. 설명하자면 n의 일의 자.. 2022. 10. 11.
[BOJ/백준] 10951번 A + B - 4 - [c/c++] 풀이 https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 해설 c - scanf 함수의 경우 서식지정자 개수 즉 읽은 데이터의 개수에 따른 반환 값이 존재한다. 만약 scanf("%d %d", &a, &b);의 경우 서식지정자 %d가 2개 즉 int 데이터를 2개 받았으므로 2를 반환한다. 만약 데이터를 읽다가 파일의 끝에 도달할 경우 scanf 함수는 -1을 반환한다. 따라서 while문 조건식을 파일의 끝일 때까지 즉 scanf("%d %d", &a, &b) != -1 로 설정한다. c++ - cin은 데이터를 읽은 후 스트림 객체를 반환하지만 조건문 .. 2022. 10. 11.
[BOJ/백준] 10952번 A + B - 5 - [c/c++] 풀이 https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 해설 무한 반복문을 활용한 간단한 문제이다. 코드 c #include int main() { int a, b; while(1) { scanf("%d %d", &a, &b); if(a == 0 && b == 0) break; printf("%d \n", a + b); } return 0; } c++ #include using namespace std; int main() { int a, b; while(1) { cin >> a >> b; if(a == 0 && b == 0) break; cout 2022. 10. 10.
[BOJ/백준] - 10871번 X보다 작은 수 - [c/c++] 풀이 https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 해설 단순한 반복문 문제이다. 코드 c #include int main() { int t, X; int a; scanf("%d %d", &t, &X); for(int i = 0; i a) printf("%d ", a); } return 0; } c++ #include using namespace std; int .. 2022. 10. 10.
[BOJ/백준] 2439번 별 찍기 - 2 - [c/c++] 풀이 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 문제 해설 t번쨰 줄까지 별을 출력한다고 할 때 n번쨰 줄에 t - n만큼의 공백을 두고 n개의 별을 출력한 후 줄 바꿈을 하면 된다. 코드 c #include int main() { int t; scanf("%d", &t); for(int i = 1; i > t; for(int i = 1; i 2022. 10. 10.
반응형