-
count배열_220712데일리 codeup/일차원 배열 2022. 7. 12. 14:20
Counting 배열
1-9 개수 세기
원소의 크기가 1에서 9 사이인 n개의 원소가 주어졌을 때, 1부터 9까지 각각 몇 번씩 나왔는지를 출력하는 프로그램을 작성해보세요.
#include<iostream> using namespace std; int main(){ int n,tmp; cin >> n; int m[9] = { 0,}; for(int i=0;i<n;i++){ cin>>tmp; m[tmp-1]++; } for(int j=0;j<9;j++) cout<<m[j]<<endl; }
주사위 놀이
주사위를 10번 던진다고 합니다. 던질 때마다 나온 숫자가 주어지면 각 숫자가 몇 번씩 나왔는지 출력하는 프로그램을 작성해보세요.
#include<iostream> using namespace std; int main(){ int n; int m[6]={0,}; for(int i=0;i<10;i++){ cin>>n; m[n-1]++; } for(int j=0;j<6;j++){ cout<< j+1<<" - "<<m[j]<<endl; } return 0; }
십의 자리 숫자
세자리 미만의 정수가 주어지다가 0이 주어지면 그 0을 제외하고 그 때까지 입력된 정수의 숫자들의 십의 자리 숫자가 각각 몇 개인지 작은 수부터 출력하는 프로그램을 작성해보세요. 단, 0이 첫 번째 부터 주어지지않는다고 가정해도 좋습니다.
#include <iostream> using namespace std; int main(){ int n; int m[9]={0,}; cin >> n; while(n!=0){ if(n/10>0) m[n/10-1]++; cin >> n; } for(int i=0;i<9;i++){ cout<<i+1<<" - "<<m[i]<<endl; } return 0; }
점수대 파악하기
100명 이하인 학생들의 점수가 주어지다가 0이 주어지면 그때까지 주어진 점수를 10점 단위로 구분하여 점수대별 학생 수를 출력하는 프로그램을 작성해보세요.
#include<iostream> using namespace std; int main(){ int n; int m[10]={0,}; cin >> n; while(n!=0){ if(n/10>0) m[n/10-1]++; cin >> n; } for(int i=10;i>0;i--){ cout<<i*10<<" - "<<m[i-1]<<endl; } return 0; }
코로나 메뉴얼2
감기 증상이 있으면
Y
, 감기 증상이 없으면N
으로 나타내기로 하고, 체온을 쟀을 때 수치에 따라 진료소를 다르게 구분하려고 합니다.- 증상도 있고 37℃ 이상일 때
A
- 증상은 없지만 37℃ 이상일 때
B
- 증상은 있지만 체온은 정상일 때
C
- 둘 다 괜찮은 경우엔
D
- 한 번에 3명씩 검사하는데
A
로 가는 사람이 2명 이상 나올때는 위급상황E
로 분류합니다.
#include <iostream> using namespace std; int main(){ char a; int temp; int b[4]={0,}; for(int i=0;i<3;i++){ cin >> a >> temp; if(a=='Y'){ if(temp>=37) b[0]++; else b[2]++; } else{ if(temp>=37) b[1]++; else b[3]++; } } for(int j=0;j<4;j++) cout<<b[j]<<' '; if(b[0]>=2) cout<<'E'; return 0; }
나눗셈의 나머지
두 정수 a, b가 주어지면, a를 b로 나눈 몫을 a에 계속해서 저장하는 것을 반복하려고 합니다.
a가 1이하
가 되기 전 까지 나눗셈을 반복한다고 할 때, 각 나눗셈 연산마다 나온 나머지들이 등장한 횟수를 제곱하여 그 합을 출력하는 프로그램을 작성해보세요.예를 들어,
a = 1000, b = 4
인 경우 나눗셈은 다음과 같이 진행됩니다.1000÷4=250 ... 0
250÷4=62 ... 2
62÷4=15 ... 2
15÷4=3 ... 3
3÷4=0 ... 3
5번의 나눗셈 동안 나머지는 0이 1번, 2가 2번, 3이 2번 등장했으므로, 각 나머지가 나온 횟수의 제곱의 합은 $1^2+2^2+2^2=9$ 입니다.
#include <iostream> using namespace std; int main(){ int a,b,result = 0; cin >> a >> b; int n[b] = {0,}; while(a >1 ){ n[a%b]++; a /= b; } for(int i=0;i<b;i++){ result += n[i]*n[i]; } cout<<result; return 0; }
'데일리 codeup > 일차원 배열' 카테고리의 다른 글
최대최소_220712 (0) 2022.07.12 탐색_220712 (0) 2022.07.12 배열만들기_220711 (0) 2022.07.11 인덱스 참조_220711 (0) 2022.07.11 한줄에 여러개 입력2_220711 (0) 2022.07.11 - 증상도 있고 37℃ 이상일 때