Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 범용 선택자
- filter()
- 객체
- 가상 요소 선택자
- 고차함수
- 등차수열의 항 찾기
- indexOf
- 배열의 오름차순
- for..of
- nth-child()
- map()
- 양방향 연결리스트
- 일반 형제 선택자 결합
- Em
- disabled
- Sort
- 배열과 연결리스트의 차이
- classList.contains(string)
- 인접 형제 선택자 결합
- display : none
- visibility : hidden
- 배열의 내림차순
- Link
- 단방향 연결리스트
- 쌍방향 연결리스트
- 백준알고리즘
- CSS
- invalid assignment left-hand side
- Array.from()
- innerhtml
Archives
- Today
- Total
프론트엔드 센트럴파크 (☞゚ヮ゚)☞
백준알고리즘_2693 본문
배열 A의 원소 10개 ☞ int[] arr = new int[10];
공백으로 구분되어 주어진다. ☞ StringTokenizer st = new StringTokenizer(br.readLine());
ThinkThink
1. BufferedReader 선언
2. int N 으로 입력값 4 받기
3. 배열 A의 원소가 10개인 배열 만들기
4. 10개일 배열 리스트 만들기
5. 배열 A 오름차순으로 정렬하기
6. 오름차순한 정렬에서 뒤에서 3번째의 값 출력하기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Baek_2693 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine()); // 10개 숫자 받음
int[] arr = new int[10]; // 10개의 숫자를 담을 배열
for (int j = 0; j < 10; j++) {
arr[j] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr); // 오름차순정렬
System.out.println(arr[7]); // 뒤에서 3번째 값 출력
}
}
}
배열리스트를 만들어서 배열을 넣어서 출력을 하려는 생각을 했으나
빈 배열 리스트를 만들고 배열 리스트에 배열을 넣어 다시 반복문을 돌려야 된다고 그러면 너무 시간과 메모리가 많이 든다고 동상이 가르쳐줬다.... 고마워 동상...
1. 첫번째 반복문으로 4번 반복문을 돌려준다.
이때 왜 StringTokenizer를 한번 더 선언하는 이유는 StringTokenizer는 한번 사용이 되면 재사용이 불가하기 때문에
다시 선언을 해주고 readLine으로 4 다음줄인 배열 10개씩의 숫자들을 읽게 된다.
2. 빈 배열 arr에 10개를 담는다.
3. 두번째 반복문에서 j=0;을 해줬으면 J < 10;을 해줘야 인덱스 0~9 해서 10개가 생긴다.
4. 10개씩 4줄이 담긴 arr에 st.nextToken();을 이용해 공백을 빼고 자른다.
nextToken();은 공백자리를 땡겨서 채우는 메소드이다.
ex ) 1 2 3 4 5 6 7 이렇게 있으면 1234567 이렇게 땡겨서 채우는 메소드이다.
5. 배열들을 오름차순으로 정렬한다
6. 오름차순이기 때문에 3번째로 큰 수는 뒤에서 3번째인 수가 된다.
'Algorism' 카테고리의 다른 글
백준알고리즘_10718 (0) | 2022.04.12 |
---|---|
백준알고리즘_2557 (0) | 2022.04.12 |
백준알고리즘_1978 (0) | 2022.02.16 |
백준알고리즘_2440 (0) | 2022.02.09 |
백준알고리즘_2742 (0) | 2022.02.09 |
Comments