일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드 #앱개발#계산기
- 불끌때
- fifaonline
- 부르지마세요
- 바이트디그리
- 패스트캠퍼스
- fifaonline4
- #FIFAONLINE4
- 독서감상문
- 자바 인강
- 강아지 #박스집 #복층
- 내일배움카드
- 홈CCTV
- 랜덤스쿼드
- 안드로이드 그림판#그림메모장#낙서장
- 피온4
- 아두이노#작품#사료급식기
- 안드로이드#앱만들기#알바
- 강아지 스마트 펜스
- 혼술 술자리 인싸앱
- D-ID
- K디지털크레딧
- 부의감각
- 안녕 디지몬
- Ai
- Java & SpringBoot로 시작하는 웹 프로그래밍
- 스쿼드 메이커
- 안드로이드
- 랜덤
- 박스#강아지집#만들기
- Today
- Total
LC Studio
백준 3052 나머지(JAVA) 본문
알고리즘 문제를 풀수록 내 수준이 드러나고있다. 너무 부족한게 느껴진다.
1. 언어에 대한 이해 부족
아직 Java에 대해 정말 잘 모른다는 것을 느낀다.
2. 알고리즘 적 사고?
문제를 어떤 방향으로 바라보고 풀지 계획하는 능력이 부족하다. 길이 안보인다. 그래서 매번 돌아돌아 어렵게 풀어내는 것 같다ㅋㅋ
어쨋든, 3052번 나머지문제는,
(두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.)
위와같이 나머지들 중 서로다른 나머지의 개수를 출력하라고 한다.
문제를 읽고 계획을 세워보았다.
1. 배열에 입력받은 10개의 수의 나머지를 저장한다.
2. 저장된 10개의 나머지 중 같은 값이 있는지 찾아낸다.
3. ....?
이렇게 끝까지 생각하지 않고 무조건 코드부터 작성했다. 안좋은 습관이다. 앞으로는 코딩하기 앞서, 글로 명확하게 방향성을 잡는 연습을 해야겠다.
결국, 이번문제는 웹서핑으로 다른 블로그를 참고하여 풀었다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
boolean[] arr = new boolean[42];
for(int i=0;i<10;i++){
arr[Integer.parseInt(br.readLine())%42] = true;
}
int count = 0;
for(int i=0;i<42;i++){
if(arr[i]==true){
count +=1;
}
}
System.out.println(count);
}
}
42로 나누었을때 만들어질 수 있는 나머지의 개수는 42개이다.(0~41)
크기가 42인 boolean 배열을 만들어서 10개의 입력 값의 나머지 중 해당하는 자리에 true를 넣어준다.
for문을 통해 전체 배열을 한바퀴 돌리면서 true인 부분이 나오면 count변수에 1을 더해준다.
count변수를 출력하면 문제 끝~!
다른 블로그에서는 쉬운문제라고해서 화가났다. 하지만 뭐 어쩌겠는가, 더 열심히 해서 쉬운 문제가 되도록 만들어야지ㅋㅋㅋㅋ
'Java > 백준 알고리즘' 카테고리의 다른 글
백준 4344 평균은 넘겠지 (Java) (0) | 2022.03.15 |
---|---|
백준 8958번 (JAVA) (0) | 2022.03.14 |
백준 2577번 숫자의 개수 (0) | 2022.03.11 |
백준 1110번 더하기 사이클 (JAVA) (0) | 2022.03.10 |
백준 15552번 빠른 A+B (JAVA) (0) | 2022.03.10 |