1.🎈 접근 방법
-2577번: 우선 입력값과 ABC 곱을 저장하는 변수를 1로 초기화 시켜주고 0~9까지의 숫자 10개를 위한 차원배열을 만들어 모든 공간의 값을 0으로 초기화 시켜줍니다. 그리고 입력된 ABC를 곱하고 곱을 저장하는 변수에 값을 넣고 각 숫자가 몇 번 쓰였는지를 카운트하는 sum이 0이상의 반복문을 쓴다면 해당 숫자가 쓰인 개수를 출력하는 출력문을 만들 수 있을거라고 생각하였습니다.
-2562번: 우선 9를 입력할 1차원 배열을 생성하고 최댓값과 인덱스를 초기화한 다음 num[0]~num[9]까지의 숫자를 입력하여 만약 최댓값보다 해당 배열의 값이 크다면 해당배열의 값이 최댓값이 되도록 넘겨주고 인덱스 또한 해당 배열의 인덱스 번호로 넘겨준다면 최댓갑과 인덱스 값을 출력 할 수 있는 출력문을 만들 수 있을거라고 생각하였습니다.
##🎆 2. 코드+ 주석
-2577번

=> 작성한 코드가 사라져서 나중에 다시 작성 하겠습니다 ㅠㅠ
-2562번

#include <stdio.h>
int main(void) {
int num, sum = 1;
int array[10] = { 0, };// 배열 array[0]~array[10]까지 0으로 지정
for (int i = 0; i < 3; i++) {
scanf("%d", &num);//A,B,C 값 입력
sum *= num; // A*B*C 곱하기
}
for (int i = 0; sum>0; i++) {// 각 숫자가 몇번 쓰였는지 구하기
num = sum % 10;
array[num] += 1;
sum /=10;
}
for (int i = 0; i < 10; i++) { //0~9까지 각 숫자가 쓰인 개수 출력
printf("%d\n", array[i]);
}
return 0;
}
##🎇 3. 알고리즘
-2577번
1. ABC를 위해 num과 sum을 1로 초기화하고, 숫자 10개를 위한 차원배열을 만들어 모든 공간의 값을 0으로 초기화 시켜줍니다.
2.A,B,C 3개의 숫자를 입력할 수 있는 for문을 만들어 A B C 값을 입력해주고 입력된 값을 Sum 변수에 넣어 곱해줍니다.
3.각 숫자가 몇 번 쓰였는지를 구하기 위해 변수 sum이 0이상 일때까지 계산된 결과(num)의 1의 자리 값을 보고 해당되는 공간을 +1하고(array[num] += 1) 계산된 결과의 1의 자리를 없애줍니다. 그러면 각 숫자가 몇 번 쓰였는지를 구하는 코드를 구현 할 수 있습니다.
4.3.에서 얻은 배열을 통해 0~9까지의 각 숫자가 쓰인 개수를 출력하는 출력문을 구할 수 있습니다.
-2562번
1. 9를 입력할 1차원 배열을 생성하고 최댓값과 인덱스를 0으로 초기화한다.
2.for문을 통해 배열 num[0]~num[9]까지의 숫자를 입력해준다.
3.만약 해당 배열의 값이 최댓값 max보다 크다면 최댓값 max를 해당 배열로 지정해주고 인덱스 또한 해당 배열의 인덱스 번호로 넘겨준다. 그러면 이 과정으로 인해 해당 배열이 최댓값이 max보다 크다면 max 값을 주게 되어 원하는 max 값과 해당 인덱스 번호를 부여 받게 된다.
4.3.에서 해당 max갑과 인덱스 값이 정해지면 최댓값과 인덱스 값을 출력해줄 수 있는 출력문에서 최댓값과 인덱스 값을 출력할 수 있다.
🧨4. 문제 통과 캡쳐 화면
=> 2577번

=> 2562번

✨5. 느낌점
이번 배열을 통한 문제 풀이를 “백준 코팅테스트”라는 사이트에서 2577번과 2562번을 풀어봄으로써 배열에 대한 이해도가 높아졌다. 먼저 2577번 문제를 풀때는 ABC라는 입력값을 받아 서로를 곱한 다음에 곱한 값의 각 0~9까지의 숫자 개수를 출력하는 문제로 0~9까지의 숫자가 각각 몇 번 쓰였는지를 계산하고 카운트한다는 점이 문제의 중요한 포인트라는 사실을 알고 프로그램을 구현하게 되었다. 그 다음 2562문제는 max의 값과 인덱스 값을 0으로 초기화 시켜준 다음 해당 배열의 값을 서로 서로 비교하여 값이 큰 값이 max 즉, 최댓값과 인덱스 값을 가지는 것이 중요 포인트라는 사실을 깨닫고 쉽게 문제를 풀어 나갈 수 있게 되었다. 이번 배열을 활용한 수학 연산을 통해 비록 전반적으로 수준이 낮은 테스트였지만 배열의 기초적인 지식을 다시 한번 차근차근 복습 하게 되었고 배열이 가지는 특성과 반복문을 더 능숙하게 다를 수 있었는 것 같은 좋은 경험이 되었다고 생각한다. 그리고 조금더 배열을 활용한 문제 수준을 높여 다른 문제 또한 도전하고 싶은 마음이 들었다.