본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1859 : 별 삼각형 출력하기

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1859 : [기초-재귀함수] 별 삼각형 출력하기 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

int 형 정수(n) 1개가 입력된다.
(1 <= n <= 30)

출력

n 층의 별 삼각형을 출력한다.

예시

  • 입력 : 5
  • 출력 :
    *
    **
    ***
    ****
    *****

Solution (풀이)

  • 풀이 : 메모리 11188, 시간 : 68
public class Answer1 {
    static StringBuilder sb = new StringBuilder();

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int line = Integer.parseInt(br.readLine());

        enter(line); // 층수를 줄띄우기(enter) 메소드로 보낸다.
        System.out.print(sb);
    }

    public static void enter(int line) {
        if(line<=0) { // 남은 줄이 0이면 멈추기
            return;
        }

        enter(line-1); // 라인을 -1해준다.
        loop(line); // 별을 찍기위한 loop 메소드에 라인을 보낸다.
        sb.append("\n"); // 줄 띄우기
    }

    public static void loop(int line) {
        if (line<=0) { // 라인이 0이되면 별을 그만찍는다 : 리턴한다.
            return;
        }

        loop(line-1); // 라인-1하여 재귀함수 호출
        sb.append("*");
    }

}

Ranking(순위)

반응형