해당 문제 자체를 공유하지는 않습니다. 책에 나온 문제의 풀이 방식을 스스로 푼 방식으로 구현한 것을 기반으로 해서 공유합니다.

해당 문제가 어렵지는 않지만 input이 있고 그에 맞게 구현을 해야한다는 점의 학습이 됩니다.

파이썬의 경우 비교적 간단한 코드로 구현을 한 것 같은데, 저는 조금 더 복잡한 방식이 되는 것 같네요.
간단하게 list로 만들었고.
만약 배열로 바꾸고 싶다면 stream을 사용하면 될 것 같습니다.

import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class 실전문제1_위에서아래로 {
    
    private static void solution(int N) {
        Scanner sc = new Scanner(System.in);
       
        int temp = N; //그냥 정리를 위한 데코레이션
        List<Integer> sortedList = new LinkedList<>();
        while(N > 0){
            System.out.print("총 " + temp + "만큼 값을 입력하셔야 합니다." + " 현재 " + (temp - N) +" 만큼 값을 입력하셨습니다. ");
            int n = sc.nextInt();
           if(sortedList.isEmpty()){sortedList.add(n);}
           else{
            if(n < sortedList.get(0)){
                sortedList.add(n);
            }else{
                sortedList.add(0,n);
            }
           }
            N--;
        }
        System.out.println(sortedList);
    }
    public static void main(String[] args) throws IOException {
        solution(3);
    }
}

위의 코드를 배열로 만드는 코드는 아래와 같습니다.

int[] arr = sortedList.stream().mapToInt(Integer::intValue).toArray();
profile
하루 하루 즐겁게

0개의 댓글