Blue___
코딩배우는 학생🌎
Blue___
전체 방문자
오늘
어제
  • 코딩배우는 학생🧀 (242)
    • Algorithms (145)
      • BOJ[Java] (107)
      • Programmers[Java] (32)
      • Coding_Contest (3)
    • Web (22)
      • .NET Core C# (2)
      • Java (1)
      • Oracle SQL (7)
      • Web-ProJect (3)
      • Error처리 (1)
      • Web지식 (4)
      • Javascript (1)
      • Vue (3)
    • Git (4)
    • Java_beginner(Repl.it) (55)
      • Auto-Graded-Course(AP CS A) (54)
    • 프로젝트 직딩일기 (3)
    • Hanyang_Assignment (0)
    • 이모저모 (4)
      • 잡담 (1)
      • 2021 오픈소스 컨트리뷰터 아카데미 (1)
      • DDD - 6기! (1)
    • 북리뷰 (1)
      • 리팩토링 2판 (1)
      • 클린코드 (0)

블로그 메뉴

  • 🐰GITHUB
  • ☘️포트폴리오
  • 🌸MBC개발_투표 2022
  • 🍭MBC_APP

공지사항

인기 글

태그

  • 자바
  • programmers
  • 프로그래밍
  • Java
  • coding
  • java basic
  • algorithm
  • 프로그래머스
  • Bakjoon
  • AP CS A
  • 레플릿
  • repl.it
  • auto-graded course
  • REPL
  • 코딩배우는학생
  • 알고리즘
  • 코딩배우는 학생
  • 코딩
  • 백준
  • Java tutorial

최근 댓글

최근 글

티스토리

hELLO
Blue___

코딩배우는 학생🌎

[Bakjoon/3052번] 나머지 [Java]
Algorithms/BOJ[Java]

[Bakjoon/3052번] 나머지 [Java]

2019. 11. 28. 00:35

아래포스팅을 통해 문제를 볼 수 있습니다!!

https://www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.

www.acmicpc.net

 

문제

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.

 

출력

첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

 

힌트

39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다.

 


풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);    
        
Set<Integer> set = new HashSet<Integer>();
        int [] input =new int [10];        
        
        for(int i=0;i<10;i++) {
            input[i]=(sc.nextInt())%42;
        }
        for(int temp:input) {
            set.add(temp);
        }
        int cnt=set.size();
        System.out.println(cnt);
    }
}
 
 
 

배열의 중복제거 문제입니다. 일일히 반복문으로 중복을 제거하는 방법도 있겠지만 저는 기본적으로 중복을 제거해주는 SET에 대입해 봤습니다. 배열을 SET에 42로 나눈 나머지 10개를 add하면 중복이 제거된 값들이 return됩니다.ㅇㅅㅇ

반응형
저작자표시 (새창열림)

'Algorithms > BOJ[Java]' 카테고리의 다른 글

[Bakjoon/8958번] OX퀴즈 [Java]  (0) 2019.11.28
[Bakjoon/1546번] 평균 [Java]  (0) 2019.11.28
[Bakjoon/2920] 음계 [Java]  (0) 2019.11.26
[Bakjoon/2562번] 최댓값 [Java]  (0) 2019.11.26
[Bakjoon/10818번] 최소,최대 [Java]  (0) 2019.11.26
    'Algorithms/BOJ[Java]' 카테고리의 다른 글
    • [Bakjoon/8958번] OX퀴즈 [Java]
    • [Bakjoon/1546번] 평균 [Java]
    • [Bakjoon/2920] 음계 [Java]
    • [Bakjoon/2562번] 최댓값 [Java]
    Blue___
    Blue___
    완전 연소한 불은 재를 남기지않는다 : 코딩배우는학생 🌎

    티스토리툴바