백준에서 1차원배열 에 해당하는 4번문제를 풀어보았습니다.
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
19 : 정적배열 생성 밑 10칸으로 초기화
21 : 배열의 최대 크기만큼 for 문을 돌릴거임
22 : arr[i]번째에 수를 입력받아 저장시켜 줄건데 입력한수의 % 42된값을 저장
25 : 서로 다른 나머지가 몇개 있는지 확인해야 하기 때문에 count 라는변수 선언 및 0으로 초기화
27 : for문을 i가 41보다 작거나 같을때까지 돌릴거임
% 42 로 나머지값을 구하는것이기 때문에 0부터 41까지의 나머지가 나올거라서 41로 for문을 돌립니다.
(저는 i < 41로 했다가 여러번 틀렸어요 ... 여러분은 저처럼 멍청한짓은 하지 않기를 바랍니다ㅠㅠ)
29 : j for문은 배열의 최대 크기만큼 돌려주면서 j++
31 : 만약 i 와 배열의 j번째가 같다면 count++
34 : count++ 이 된후 break 를 걸어 중복수가 중복체크되지 않게 j for문 종료
38 : 출력
코알못 탈출까지 화이팅