일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 한정 분기
- 최단 경로
- 페이코 추천인코드
- C언어
- programmers
- SWEA
- JAVA SPRING
- 백준
- 페이코 친구코드
- 파이썬
- 플러터 개발환경 설정
- spring
- 페이코 초대코드
- php 프로그래밍 입문 예제
- php 프로그래밍 입문 연습문제
- php 프로그래밍 입문 3판
- 배열
- Java
- C
- php 프로그래밍 입문 문제풀이
- 플러터
- php
- php 프로그래밍 입문
- 자바
- 페이코 추천인
- 자바 스프링
- php 프로그래밍 입문 솔루션
- 스프링
- Flutter
- php 프로그래밍
Archives
- Today
- Total
11-07 11:40
ImJay
[C언어] 백준 3052번 : 나머지 본문
반응형
백준 3052번 : 나머지
- 사용언어 : C언어
1. 문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
2. 코드
#include <stdio.h>
int main(void) {
int input, result=0;
int remain[10];
for(int i=0; i<10; i++) {
scanf("%d", &input);
remain[i] = (input % 42);
}
for(int i=0; i<10; i++) {
int count=0; // 초기화
for(int j=i+1; j<10; j++) { // 서로 같은 수일 경우
if(remain[i] == remain[j]) count++;
}
if (count == 0) result++; // 같은 수가 없을 경우 개수를 세준다
}
printf("%d", result);
}
3. 풀이
1) input으로 입력 값을 받는다
2) remain[i]에 input을 42로 나눈 나머지를 저장
3) for문으로 remain[i]의 값을 서로 비교하여 같은 수인지 찾기
4) 같은 수가 없을 경우 result++ 해준다
* count != 0 이면 서로 같은 수가 있는 경우이므로 result의 값이 오르지 않도록 하자.
반응형
'백준 - C, C++ > 05. 1차원 배열' 카테고리의 다른 글
[C언어] 백준 8958번 : OX퀴즈 (0) | 2020.09.30 |
---|---|
[C언어] 백준 1546번 : 평균 (0) | 2020.09.29 |
[C언어] 백준 2577번 : 숫자의 개수 (0) | 2020.09.24 |
[C언어] 백준 2562번 : 최댓값 (0) | 2020.09.24 |
[C언어] 백준 10818번 : 최소, 최대 (2) | 2020.09.24 |
Comments