해당 문제 자체를 공유하지는 않습니다. 책에 나온 문제의 풀이 방식을 스스로 푼 방식으로 구현한 것을 기반으로 해서 공유합니다.
해당 문제가 어렵지는 않지만 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();