전체 글
셀프 넘버 풀이
문제 링크: https://www.acmicpc.net/problem/4673 백준 함수 2단계 - 4673번 셀프 넘버를 풀어보았다. 풀이: 셀프 넘버가 아닌 수를 만드는 함수를 만들고, 셀프 넘버를 남긴다. C++ #include using namespace std; int selfnum(int n) // 셀프 넘버가 아닌 수를 생성 { int sum=n; while(n!=0) { sum+=n%10; n/=10; } return sum; } int main() { int arr[10001]={0,}; for(int i=1;i
정수 N개의 합 풀이
문제 링크: https://www.acmicpc.net/problem/15596 백준 함수 1단계 - 15596번 정수 N개의 합을 풀어보았다. 풀이: 배열 a를 받아 총합을 구하면 된다. C++ #include long long sum(std::vector &a) { long long ans = 0; for(int i=0;i
평균은 넘겠지 풀이
문제 링크: https://www.acmicpc.net/problem/4344 백준 1차원 배열 9단계 - 4344번 평균은 넘겠지를 풀어보았다. 풀이: 비율을 셋째 자리까지 반올림해 출력한다. C++의 경우, cin으로 같은 행에 있는 값 중 하나만 받아올 수 있다는 점을 알게 되었고(학생 수를 받아올 때), 반올림해 소수 셋째 자리까지 나타낼 때 coutc; int arr[1000]={0,}; double mean; for(int i=0;i>num; // 학생 수 int sum=0; for(int j=0;j>arr[j]; sum+=arr[j]; } mean=(double)sum/(double)num; // 평균 int count=0; for(int j=0;jmean) count++; } double ..
OX퀴즈 풀이
문제 링크: https://www.acmicpc.net/problem/8958 백준 1차원 배열 8단계 - 8958번 OX퀴즈를 풀어보았다. 풀이: 문자열을 써서 입력을 받고, 한 글자마다 O인지 판별해 점수를 매긴다. C++ #include #include using namespace std; int main() { int t; cin>>t; for(int i=0;i>s; for(char c:s) { if(c=='O') // O을 만나면 { cul++; res+=cul; } else { cul=0; } } cout
평균 풀이
문제 링크: https://www.acmicpc.net/problem/1546 백준 1차원 배열 7단계 - 1546번 평균을 풀어보았다. 풀이: 새 점수를 구하고 새 평균을 구하면 된다. 실수 자료형을 써야 한다는 점을 잊지 말자. C++ #include using namespace std; int main() { int n; cin>>n; double max=-1; double arr[1000]={0,}; double res=0; for(int i=0;i>arr[i]; if(arr[i]>max) max=arr[i]; // 최대값 구하기 } for(int i=0;i
나머지 풀이
문제 링크: https://www.acmicpc.net/problem/3052 백준 1차원 배열 6단계 - 3052번 나머지를 풀어보았다. 풀이: 나머지를 담은 배열을 만들고, 칸을 순회하며 나머지의 경우의 수를 센다. C++ #include using namespace std; int main() { int arr[42]={0,}; // 42의 나머지는 0부터 41임 int inp; int count=0; for(int i=0;i>inp; arr[inp%42]++; // 나머지가 담긴 배열의 칸을 0이 아닌 값으로 변경 } for(int i=0;i
과제 안 내신 분..? 풀이
문제 링크: https://www.acmicpc.net/problem/5597 백준 1차원 배열 5단계 - 5597번 과제 안 내신 분..? 을 풀어보았다. 풀이: 안 낸 사람은 0의 값을 가지게 하고, 낸 게 확인되면 1을 가지게 했다. C++ #include using namespace std; int main() { int arr[30]={0,}; int inp; for(int i=0;i>inp; arr[inp-1]++; } for(int i=0;i
최댓값 풀이
문제 링크: https://www.acmicpc.net/problem/2562 백준 1차원 배열 4단계 - 2562번 최댓값을 풀어보았다. 풀이: 입력이 들어올 때마다 비교해 풀었다. C++ #include using namespace std; int main() { int arr[9]={0,}; // 배열 선언 int idx; // 위치 int maxnum=-1; for(int i=0;i>arr[i]; if(arr[i]>maxnum) { maxnum=arr[i]; idx=i+1; } } cout