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
- html
- 개발자
- 알고리즘
- mybatis
- String클래스
- Linux
- JavaScript
- sql문
- Java
- SQL
- 프로그래머스 SQL
- 백엔드
- BufferedReader
- select
- 예외처리
- select문
- 형변환
- 리눅스
- 정보처리기사
- 프로그래머스 sql 고득점 kit
- 자바
- github
- StringBuilder
- order by
- DML
- 데이터 조회
- 정보처리기사필기요약
- 스프링
- 메서드
- 프론트엔드
- scanner
- where
- 클래스
- 프로그래밍
- 자바스크립트
- 백준
- Git
- 입출력
Archives
- Today
- Total
ToBe끝판왕
[ 알고리즘 ] 백준 10871번 문제 - 자바( JAVA ) 본문
반응형
주의사항
※ 백준에서 정해진 출력 형식을 출력해야 한다.
※ 백준 알고리즘에서는 클래스명을 Main으로 해주어야 한다.
백준 10871번 문제
백준 알고리즘의 단계별 문제 풀기
3단계 < 반복문 >
▶ 해당 문제 링크
https://www.acmicpc.net/problem/10871
코딩 하기
1) Scanner 사용( + 배열 )
import java.util.Scanner;
public class Main {
public static void main( String[] args ) {
Scanner sc = new Scanner( System.in );
int N = sc.nextInt();
int X = sc.nextInt();
int arr[] = new int[N];
for( int i=0; i<N; i++ ) {
arr[i] = sc.nextInt();
}
sc.close();
for( int i=0; i<N; i++ ) {
if( arr[i] < X ) {
System.out.print( arr[i] + " " );
}
}
}
}
2) Scanner 사용 ( + StringBuilder )
import java.util.Scanner;
public class Main {
public static void main( String[] args ) {
Scanner sc = new Scanner( System.in );
int N = sc.nextInt();
int X = sc.nextInt();
StringBuilder sb = new StringBuilder();
for( int i=0; i<N; i++ ) {
int a = sc.nextInt();
if( a < X ) {
sb.append( a + " " );
}
}
System.out.print( sb );
}
}
3) BufferedReader 사용
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
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() );
int X = Integer.parseInt( st.nextToken() );
StringBuilder sb = new StringBuilder();
st = new StringTokenizer( br.readLine(), " " );
for( int i=0; i<N; i++ ) {
int a = Integer.parseInt( st.nextToken() );
if( a < X ) {
sb.append(a).append( " " );
}
}
System.out.println( sb );
}
}
문제 해결
1) Scanner 사용( + 배열 )
• arr[ ] 배열을 선언하고 배열의 크기를 N으로 할당한다.
• 배열에 입력받은 수열을 반복문을 통해서 저장한다.
• 다시 한번 반복문으로 배열을 검사하여 X보다 작은 수를 출력한다.
int arr[] = new int[N];
for( int i=0; i<N; i++ ) {
arr[i] = sc.nextInt();
}
sc.close();
for( int i=0; i<N; i++ ) {
if( arr[i] < X ) {
System.out.print( arr[i] + " " );
}
2) Scanner 사용( + StringBuilder )
입력받음과 동시에 if 조건문을 통해서 X보다 작은 경우 StringBuilder에 저장하여 출력한다.
StringBuilder sb = new StringBuilder();
for( int i=0; i<N; i++ ) {
int a = sc.nextInt();
if( a < X ) {
sb.append( a + " " );
}
}
System.out.print( sb );
}
2) BufferedReader 사용
• StringTokenizer를 사용해 구분자 " " ( 스페이스, 공백 ) 을 통해서 N과 X를 입력한다.
• for 반복문에서도 " " ( 스페이스, 공백 ) 을 통해서 수열 a를 입력한다.
StringTokenizer st = new StringTokenizer( br.readLine(), " " );
if( a < X ) {
sb.append(a).append( " " );
• 각 코딩 시간 비교
반응형
'■ 알고리즘 > 백준 JAVA' 카테고리의 다른 글
[ 알고리즘 ] 백준 1110번 문제 - 자바( JAVA ) (0) | 2022.05.27 |
---|---|
[ 알고리즘 ] 백준 10951번 문제 - 자바( JAVA ) (0) | 2022.05.27 |
[ 알고리즘 ] 백준 2439번 문제 - 자바( JAVA ) (0) | 2022.05.26 |
[ 알고리즘 ] 백준 11021번 문제 - 자바( JAVA ) (0) | 2022.05.26 |
[ 알고리즘 ] 백준 2741번 문제 - 자바( JAVA ) (0) | 2022.05.25 |
Comments