1차원배열 6

[백준] 1546번: 평균 | C++ 풀이

# 문제 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. # 풀이 1차원 배열의 마지막 문제다. 그렇지만 아주아주 간단한 문제! 정답 소스코드를 보며 필요한 개념을 정리해보자. #include using namespace std; int main(){ int n; int max = 0; double sum = 0; cin >> n; double score[n]; for(int i=0; i> score[i]; if(max < score[i]) max = score[i]; } for(int i=0; i score[i]; if(max < score[i]) max = score[i]; } 세준이의 현재 성적과 새롭게 구할 성적을 같은 배열에 넣기 위해 double ..

백준/C++ 2023.05.16

[백준] 10811번: 바구니 뒤집기 | C++ 풀이

# 문제 바구니의 순서를 어떻게 바꿀지 주어졌을 때, M번 바구니의 순서를 역순으로 만든 다음, 바구니에 적혀있는 번호를 가장 왼쪽 바구니부터 출력하는 프로그램을 작성하시오. # 풀이 이번 문제에서는 살짝 주춤한 분들이 있을 수도 있겠다. 하지만 잘 생각해보면 어렵지 않은 문제다. 우리는 아직 solved.ac 기준 브론즈 2를 푸는 중이기 때문... 정답 소스코드를 확인하며 차분히 생각해보자. #include using namespace std; int main(){ int n, m; // n개의 바구니, m번 순서 변경 int a, b; // a번째 바구니부터 b번째 바구니의 순서를 역순으로 변경 cin >> n >> m; int basket[n+1]; for(int i=1; i> a >> b; if..

백준/C++ 2023.05.14

[백준] 3052번: 나머지 | C++ 풀이

# 문제 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. # 풀이 이 문제는 무엇을 구해야 하는지 잘 봐야한다. 서로 다른 나머지가 몇 개 있는지 출력하면 되는 문제다. 바로 정답 소스코드를 확인해보자. #include using namespace std; int main(){ bool remainder[42] = {0}; // 42로 나눈 나머지는 0~41까지 존재 int num; int cnt = 0; while(cin >> num){ remainder[num%42] = 1; } for(int i=0; i num){ remainder[num%42] = 1; } 지난 번처럼 EOF를 활용해 입력과 반복문 처리를 해주고..

백준/C++ 2023.05.13

[백준] 5597번: 과제 안 내신 분..? | C++ 풀이

# 문제 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오. # 풀이 bool 타입을 활용해주면 쉽게 풀 수 있는 문제다. 당황하지 말고 풀어보자. 정답 소스코드부터 확인! #include using namespace std; int main(){ bool submit[31] = {0}; // 제출 확인 배열 default: false int num; while(cin >> num){ submit[num] = 1; // 제출한 학생 true } for(int i=1; i

백준/C++ 2023.05.12

[백준] 10818번: 최소, 최대 | C++ 풀이

# 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. # 풀이 지난 번 리뷰한 10871번을 풀었다면 어렵지 않은 문제다. 바로 정답 소스코드를 확인해보자. #include using namespace std; int main(){ ios_base::sync_with_stdio(false); // 두 표준 입출력 동기화 해제 cin.tie(NULL); // 입력과 출력 묶음을 풀기 int n, max, min; cin >> n; int num[n]; for(int i=0; i> num[i]; } max = min = num[0]; for(int i=1; i num[i]) min = num[i]; } cout

백준/C++ 2023.05.10

[백준] 10871번: X보다 작은 수 | C++ 풀이

# 문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. # 풀이 배열의 개념을 알고 앞선 조건문 문제들을 잘 풀어냈다면 쉬운 문제다. 정답 소스코드를 확인해보기 전, ios_base::sync_with_stdio(false); cin.tie(NULL); 만약 이 두 코드에 대해 모르는 분이 있다면 아래 더보기를 펼쳐 문제를 풀고, 링크해둔 글들을 읽고 오길 권한다. 더보기 풀어볼 문제 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 읽어보면 좋은 글 글..

백준/C++ 2023.05.09
728x90