백준 코딩테스트 단계별로 풀어보기
4단계 1차원 배열 2단계 10871 X보다 작은 수 문제입니다
https://www.acmicpc.net/problem/10871
10871번: X보다 작은 수
첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
www.acmicpc.net
단계별로 풀어보기
단계별은 @jh05013님이 관리하고 계십니다. 단계제목설명정보총 문제내가 맞은 문제1입출력과 사칙연산입력, 출력과 사칙연산을 연습해 봅시다. Hello World!132조건문if 등의 조건문을 사용해 봅시다
www.acmicpc.net
문제
정수 N개로 이루어진 수열 A와 정수 X가 주어진다.
이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 X가 주어진다.
(1 ≤ N, X ≤ 10,000)둘째 줄에 수열 A를 이루는 정수 N개가 주어진다.
주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
출력
X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다.
X보다 작은 수는 적어도 하나 존재한다.
정답
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[] A = new int[N];
for (int i=0; i<N; i++) {
A[i] = sc.nextInt();
}
for (int i=0; i<N; i++) {
if (A[i]<X) {
System.out.print(A[i] + " ");
}
}
}
}
=>
스캐너로 받아서 for와 if로 해결
이전에 나왔던 문제들과 유사성 많음
N과 X를 받고
N개 이하의 숫자를 받아 array에 넣는다
배열 A에서 X보다 작은 숫자 출력
출력하는 숫자 사이에는 공백을 준다
<또다른 풀이>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 val = Integer.parseInt(st.nextToken());
if (val < X) {
sb.append(val).append(" ");
}
}
System.out.println(sb);
}
}
=>
역시 bufferedreader로 푸는 연습 해 보려고
꾸역꾸역 찾아 가면서 만든 풀이
다행히 여러 번 해봤다고 bufferedreader값을 받아오는 것까지는 수월해서
이제 StringTokenizer의 개념을 익히려고 하는 중

아래가 scanner로 푼 경우, 위가 buffer로 푼 경우인데
이번 문제의 경우 메모리 사용량이 두 배 가까이 차이가 난다
그러니 bufferedreader를 꾸준히 연습 안 할 수가 없다
1-1-2557 Hello World https://developernew.tistory.com/41 <- 백준 답지 제출 방법
1-2-1000 A+B https://developernew.tistory.com/42
1-3-1001 A-B https://developernew.tistory.com/43
1-4-10998 AXB https://developernew.tistory.com/44
1-5-1008 A/B https://developernew.tistory.com/45
1-6-10869 사칙연산 https://developernew.tistory.com/46
1-7-10926 ??! https://developernew.tistory.com/47
1-8-18108 1998년생인 내가 태국에서는 2541년생?! https://developernew.tistory.com/48
1-9-10430 나머지 https://developernew.tistory.com/49
1-10-2588 곱셈 https://developernew.tistory.com/50
1-11-11382 꼬마 정민 https://developernew.tistory.com/51
1-12-10171 고양이 https://developernew.tistory.com/52
1-13-10172 개 https://developernew.tistory.com/53
2-1-1330 두 수 비교하기 https://developernew.tistory.com/54
2-2-9498 시험 성적 https://developernew.tistory.com/55
2-3-2753 윤년 https://developernew.tistory.com/56
2-4-14681 사분면 고르기 https://developernew.tistory.com/61
2-5-2884 알람 시계 https://developernew.tistory.com/68
2-6-2525 오븐 시계 https://developernew.tistory.com/69
2-7-2480 주사위 https://developernew.tistory.com/72
3-1-2739 구구단 https://developernew.tistory.com/73
3-2-10950 A+B - 3 https://developernew.tistory.com/75
3-3-8393 합 https://developernew.tistory.com/77
3-4-25304 영수증 https://developernew.tistory.com/79
3-5-25314 코딩은 체육과목 입니다 https://developernew.tistory.com/82
3-6-15552 빠른 A+B https://developernew.tistory.com/83
3-7-11021 A+B -7 https://developernew.tistory.com/85
3-8-11022 A+B -8 https://developernew.tistory.com/86
3-9-2438 별 찍기 -1 https://developernew.tistory.com/87
3-10-2439 별 찍기 -2 https://developernew.tistory.com/89
3-11-10952 A+B -5 https://developernew.tistory.com/90
3-12-10951 A+B -4 https://developernew.tistory.com/91
4-1-10807 개수 세기 https://developernew.tistory.com/97
'코딩테스트 > 백준(JAVA)' 카테고리의 다른 글
백준 코딩테스트 4-4-2562 최대값 코딩 문제 java로 푸는 방법 (0) | 2023.03.29 |
---|---|
백준 코딩테스트 4-3-10818 최소, 최대 코딩 문제 java로 푸는 방법 (1) | 2023.03.28 |
백준 코딩테스트 4-1-10807 개수 세기 코딩 문제 java로 푸는 방법 (0) | 2023.03.27 |
백준 코딩테스트 3-12-10951 A+B - 4 코딩 문제 java로 푸는 방법 (1) | 2023.03.24 |
백준 코딩테스트 3-11-10952 A+B - 5 코딩 문제 java로 푸는 방법 (0) | 2023.03.24 |