728x90
문제
https://www.acmicpc.net/problem/3052
풀이
이 문제는 '순서를 유지하지 않고, 중복 없이 자료를 저장'하는 Set 자료구조를 이용하면 쉽게 풀 수 있는 문제라고 생각합니다.
반복문을 이용하여 입력 받은 값을 42로 나눈 나머지 값을 Set에 추가하게되면 중복 없이 값이 저장되기 때문에 문제에서 요구하는 출력 값인 '42로 나누었을 때, 서로 다른 나머지가 몇 개'를 Set에 저장되어 있는 값의 개수를 통해서 바로 알 수 있습니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Set<Integer> set = new HashSet<>();
for (int i = 0; i < 10; i++) {
set.add(Integer.parseInt(br.readLine())%42);
}
System.out.println(set.size());
}
}
'알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘/인프런]1-6 중복문자 제거(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.05 |
---|---|
[프로그래머스] 124나라의 숫자 java (0) | 2020.12.13 |
[2018 KAKAO BLIND RECRUITMENT] 다트 게임 자바 (0) | 2020.11.19 |
백준 2941번 크로아티아 알바펫(Java) (0) | 2020.10.26 |
백준 10951번 A+B -4(Java) (0) | 2020.10.26 |
댓글