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
- MySQL
- select
- 형변환
- JavaScript
- 프로그래머스 sql 고득점 kit
- 백준
- Git
- Linux
- 웹개발
- 리눅스
- 입출력
- 자바스크립트
- 프론트엔드
- sql문
- Java
- DML
- StringBuilder
- html
- github
- BufferedReader
- 프로그래머스 SQL
- 클래스
- order by
- 개발자
- 데이터 조회
- 예외처리
- 정보처리기사필기요약
- 프로그래밍
- String클래스
- SQL
- scanner
- 자바
- select문
- 백엔드
- 알고리즘
- 메서드
- 정보처리기사
- where
- 스프링
- mybatis
Archives
- Today
- Total
ToBe끝판왕
[ 알고리즘 ] 백준 10818번 문제 - 자바( JAVA ) 본문
반응형
주의사항
※ 백준에서 정해진 출력 형식을 출력해야 한다.
※ 백준 알고리즘에서는 클래스명을 Main으로 해주어야 한다.
백준 10818번 문제
백준 알고리즘의 단계별 문제 풀기
4단계 < 1차원 배열 >
▶ 해당 문제 링크
https://www.acmicpc.net/problem/10818
코딩 하기
1) Scanner 사용
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main( String args[] ) {
Scanner sc = new Scanner( System.in );
int N = sc.nextInt();
int[] arr = new int[N];
for( int i=0; i<N; i++ ) {
arr[i] = sc.nextInt();
}
sc.close();
Arrays.sort( arr );
System.out.print( arr[0] + " " + arr[N - 1 ] );
}
}
2) BufferedReader 사용
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main( String[] args ) throws IOException {
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
int N = Integer.parseInt( br.readLine() );
StringTokenizer st = new StringTokenizer( br.readLine(), " " );
int index = 0;
int[] arr = new int[N];
while( st.hasMoreTokens() ) {
arr[index] = Integer.parseInt( st.nextToken() );
index++;
}
Arrays.sort( arr );
System.out.print( arr[0] + " " + arr[N - 1] );
}
}
문제 해결
※ 주의사항
N개의 정수를 공백으로 구분해서 주어진다.
1) Scanner 사용
N을 입력받아 해당 크기의 배열을 선언한다.
int N = sc.nextInt();
int[] arr = new int[N];
arr 배열원소에 for반복문을 사용하여 입력받은 값을 넣어준다.
for( int i=0; i<N; i++ ) {
arr[i] = sc.nextInt();
}
Array.sort( ) 메서드를 사용하여 최대값과 최소값을 구한다.
Array.sort( ) 메서드는 원소값을 오름차순으로 정렬해주기 때문에 최소값은 배열의 첫번째 원소 ( index 0 )
최대값은 마지막 원소 ( arr.length-1 )에 있기 때문에 이를 출력해준다.
Arrays.sort( arr );
System.out.print( arr[0] + " " + arr[N - 1 ] );
2) BufferedReader 사용
입력받은 정수들을 배열에 저장하기 위해서 StringToken에 들어있는 모든 토큰들이 없어질때까지
while 반복문을 사용하여 배열에 모두 담는다.
( hasMoreTokens( )는 StringTokenizer에 토큰이 남아있으면 true, 비어있으면 false를 반환한다. )
int index = 0;
int[] arr = new int[N];
while( st.hasMoreTokens() ) {
arr[index] = Integer.parseInt( st.nextToken() );
index++;
}
반응형
'■ 알고리즘 > 백준 JAVA' 카테고리의 다른 글
[ 알고리즘 ] 백준 2562번 문제 - 자바( JAVA ) (0) | 2022.06.08 |
---|---|
[ 알고리즘 ] 백준 1110번 문제 - 자바( JAVA ) (0) | 2022.05.27 |
[ 알고리즘 ] 백준 10951번 문제 - 자바( JAVA ) (0) | 2022.05.27 |
[ 알고리즘 ] 백준 10871번 문제 - 자바( JAVA ) (0) | 2022.05.27 |
[ 알고리즘 ] 백준 2439번 문제 - 자바( JAVA ) (0) | 2022.05.26 |
Comments