4-1. 최소, 최대
BufferedReader로 한 줄씩 입력받고, StringTokenizer로 공백으로 쪼개서 입력값들을 사용했다.
int타입의 배열을 선언하고 각 인덱스마다 입력값을 순서대로 넣어줬다.
Arrays.sort를 사용해 오름차순으로 정렬하면 0번째 인덱스는 최솟값, 마지막 인덱스는 최댓값이 위치한다.
마지막 인덱스는 배열 길이-1로 구한다.
배열은 인덱스를 통해 값에 접근하기 편리하다.
4-2. 최댓값
많은 데이터를 입력받거나 출력하는 게 아니니 Scanner를 사용해 입력값들을 받았다.
int타입 배열의 각 인덱스에 입력값들을 순서대로 넣었다.
for문으로 배열의 값들을 하나씩 가져와서 미리 선언해둔 max라는 변수보다 크면 max에 대입하는 식으로
for문이 끝났을 때 결국 배열의 최댓값이 max에 대입되게 처리했다.
또한 max에 값이 대입될때 해당 인덱스 번호를 index 변수에 저장한다.
이때 문제에서 배열의 최댓값이 몇 번째인지를 물어봤기 때문에 인덱스처럼 제로베이스가 아니다.
그래서 index 변수에 1을 더해야 문제가 요구하는 몇 번째인지가 나온다.
4-3. 나머지
HashSet에 추가하려는 값이 이미 존재하면 추가하지 않고 false를 반환하고,
없으면 추가하고 true를 반환한다.
마지막에 간단하게 HashSet의 길이를 출력한다.
4-4. 평균
평균의 경우 정수끼리 나누기 연산을 해도 실수가 나올 수 있다.
그래서 변수들을 double 타입으로 선언하는 게 포인트다.
4-5. OX퀴즈
String 타입의 ox 변수에 입력값들을 하나씩 받아온다.
두번째 for문과 charAt메서드를 통해 ox 변수에 입력된 문자열을 문자 단위로 하나씩 가져오고,
값이 O면 cnt를 1씩 증가시키고 score 변수에 cnt를 누적연산한다.
값이 X면 cnt를 0으로 초기화 한다.
첫번째 for문 마지막에서 score를 출력하고 줄바꿈한다.
4-6. 평균은 넘겠지
역시 평균이기 때문에 double 타입으로 변수를 선언하고 마지막 출력에서 printf를 사용해
%.3f로 소숫점 3째 자리까지 출력한다.
BufferedReader로 한줄씩 입력 받고, StringTokenizer로 공백으로 쪼갠다.
그렇게 처리한 입력값들을 for문으로 배열에 순서대로 넣고 합계를 구한다.
'공부해 codingTest' 카테고리의 다른 글
프로그래머스 JAVA Level 1. 성격 유형 검사하기 (0) | 2022.10.21 |
---|---|
백준 JAVA 5단계 함수 5-1 ~ 5-3 (0) | 2022.10.12 |
백준 JAVA 3단계 반복문 3-9 ~ 3-13 (0) | 2022.10.10 |
백준 JAVA 3단계 반복문 3-1 ~ 3-8 (0) | 2022.10.09 |
백준 JAVA 2단계 조건문 2-1 ~ 2-7 (0) | 2022.10.08 |