작성
·
182
0
import java.util.Scanner;
public class Main {
public String solutions(int target, int[] high) {
String answer = "";
for (int i = 0; i < target; i++) {
if (answer.isEmpty()) {
answer += high[i]+" ";
} else if (high[i]>high[i-1]) {
answer += high[i]+" ";
}
}
return answer;
}
public static void main(String[] args) {
Main t = new Main();
Scanner sc = new Scanner(System.in);
int target = sc.nextInt();
int[] high = new int[target];
for (int i = 0; i < target; i++) {
high[i] = sc.nextInt();
}
System.out.println(t.solutions(target, high));
}
}
강의 보기전에 혼자 이렇게 해봤는데 채점 정답처리는 받았습니다. 혹시 문제가 없을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
제공해 주신 코드는 특정 조건(이전 값보다 큰 경우)을 만족하는 값들을 찾아 문자열로 반환하는 로직을 구현하고 있습니다. 코드 자체에 문법적인 오류나 실행에 문제가 될 부분은 없어보입니다. 채점에서 정답 처리를 받으셨다면, 해당 문제의 요구사항을 만족시킨 것으로 볼 수 있습니다.
다만, 코드의 효율성이나 가독성 측면에서 개선할 수 있는 부분이 있을 수 있습니다. 예를 들어, StringBuilder를 사용하여 문자열을 더 효율적으로 관리할 수 있습니다. 또한, Java 8 이상에서 제공하는 Stream API를 활용하여 더 간결하고 선언적인 코드로 작성할 수도 있습니다.
학습 과정에서 다양한 방법을 시도해보고, 각 방법의 장단점을 이해하는 것이 중요합니다. 강의 내용과 비교하여 여러분만의 방식으로 문제를 해결해 보셨다니 매우 좋은 접근 방법입니다. 계속해서 다양한 시도를 통해 배움을 깊게 해 나가시길 바랍니다.