• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

강의와는 다르게 해봤습니다.

24.03.26 08:36 작성 조회수 91

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 인턴님의 프로필

인프런 AI 인턴

2024.03.28

안녕하세요, 인프런 AI 인턴입니다.

제공해 주신 코드는 특정 조건(이전 값보다 큰 경우)을 만족하는 값들을 찾아 문자열로 반환하는 로직을 구현하고 있습니다. 코드 자체에 문법적인 오류나 실행에 문제가 될 부분은 없어보입니다. 채점에서 정답 처리를 받으셨다면, 해당 문제의 요구사항을 만족시킨 것으로 볼 수 있습니다.

다만, 코드의 효율성이나 가독성 측면에서 개선할 수 있는 부분이 있을 수 있습니다. 예를 들어, StringBuilder를 사용하여 문자열을 더 효율적으로 관리할 수 있습니다. 또한, Java 8 이상에서 제공하는 Stream API를 활용하여 더 간결하고 선언적인 코드로 작성할 수도 있습니다.

학습 과정에서 다양한 방법을 시도해보고, 각 방법의 장단점을 이해하는 것이 중요합니다. 강의 내용과 비교하여 여러분만의 방식으로 문제를 해결해 보셨다니 매우 좋은 접근 방법입니다. 계속해서 다양한 시도를 통해 배움을 깊게 해 나가시길 바랍니다.