정리하고기록하자

백준 (JAVA) - X보다 작은 수 (10871) 본문

백준 - 알고리즘

백준 (JAVA) - X보다 작은 수 (10871)

정리하고기록하자 2021. 11. 9. 23:05
반응형

백준 - 알고리즘 for문 X보다 작은 수 (10871) 문제

 

문제 :

정수 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(); // 첫번째 줄 N ( 10 입력 )
        int X = sc.nextInt(); // 첫번째 줄 X ( 5 입력 )
        
        for(int i = 0; i <= N; i++){ // 첫번째 입력한 숫자 만큼 반복문을 돌린다.
          
        }
    }
    
}

첫번째 줄에 N 

두번째 줄에 X

첫번째 줄에 입력한 숫자 만큼 반복문을 돌렸다.


int item = sc.nextInt(); // X보다 작은수를 입력 받았다고 했으니 sc.nextInt() 한개 더 추가
if( item < X ){ // if 조건에 item < X 가 작을 경우 
	System.out.print(item + " "); // 출력한다.
}

출력에 X보다 작은 수를 입력 받았다고 했으니

나는 sc.nextInt() 를 한개 더 추가 했다.

그 다음 입력 받는 값에서 조건에 X 보다 작다면 출력 해야 한다는 조건문을 작성했다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt(); // 첫번째 줄 N ( 10 입력 )
        int X = sc.nextInt(); // 첫번째 줄 X ( 5 입력 )
        
        for(int i = 0; i <= N; i++){ // 첫번째 입력한 숫자 만큼 반복문을 돌린다.
            
            int item = sc.nextInt(); // X보다 작은수를 입력 받았다고 했으니 sc.nextInt() 한개 더 추가
            
            if( item < X ){ // if 조건에 item < X 가 작을 경우 
                
                System.out.print(item + " "); // 출력한다.
            }   
        }
    }
    
}

 

 

내가 생각한 코드는 여기 까지고 좀 더 생각하보고 구글링 해봐야겠다.

 


import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt(); // 첫번째 줄 N ( 10 입력 )
        int X = sc.nextInt(); // 첫번째 줄 X ( 5 입력 )
        
        for(int i = 1; i <= N; i++){ // 첫번째 입력한 숫자 만큼 반복문을 돌린다.
            
            int item = sc.nextInt(); // X보다 작은수를 입력 받았다고 했으니 sc.nextInt() 한개 더 추가
            
            if( item < X ){ // if 조건에 item < X 가 작을 경우 
                
                System.out.print(item + " "); // 출력한다.
            }   
        }
    }
    
}

와.. 이게 정답..

for 문 안에 0이 아니라 1이였네?

...아쉽다..

반응형