본문 바로가기

2024 코드트리 방학 조별 과제

[코드트리 조별과제] Java 활용한 별찍기

요즘 Java 기초 공부를 하고 있다.

당장 다음주 월요일에(내일..) 자바 기초 테스트가 있는데,

그 중 별찍기 문제가 있어서 오랜만에 코드트리 들어가서 관련 문제를 다시 풀어봤다(예전에 파이썬으로 풀었던 문제!).

이번주에 푼 것 (7.28 기준)

코드트리에서 방학 이벤트를 한다는 것은 알고 있었는데 정확히 눌러보지 않아서..(존재만 알고 있던 차에

어제 오랜만에 만나게 된 학교 친구가 있었는데

요즘 코드트리에서 방학 과제(?를 한다고 그래서 

나도 집에 오자마자 읽어보고 참여하기를 눌렀다.

 

그리고 참여 이후 푼 문제는 '규칙을 찾아 출력하기' 한 문제이다.

그래서 해당 문제에 대한 리뷰를 해보고자 한다!

📝 모양과 관계 없는 별 출력 / 규칙을 찾아 출력하기

https://www.codetree.ai/missions/4/problems/find-a-rule-and-print?&utm_source=clipboard&utm_medium=text

문제는 간단하고, 다양한 입출력 예시가 있었는데,

4와 5정도 숫자는 되어야 특징을 알 수 있을 것 같아서 일부만 가져왔다.

 

그리고 내 코드는..

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        for (int i=0; i<n; i++){
        	// 별이 입력받은 수만큼 있다는 것
            if (i==0) {
                for (int j=0; j<n; j++){
                    System.out.print("* ");
                }
            } else {
            	// 1부터 시작해서 하나씩 들어가는 별찍기
                for (int j=0; j<i; j++){
                    System.out.print("* ");
                }
                // 별찍기와 반대로 하나씩 줄어드는 스페이스찍기
                for (int j=0; j<n-i-1; j++){
                    System.out.print("  ");
                }
                // 그리고 마지막으로 별 찍고 끝내기
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

 

안에 구조는

첫 줄 + 나머지 줄 (별 찍기 + 스페이스 찍기 + 마지막에 별 찍고 끝내기)

으로 구성하였다.

첫 줄의 특징은 별이 입력받은 수만큼 있다는 것이었고,

그 다음부터는 1부터 시작해서 하나씩 들어가는 별찍기

별찍기와 반대로 하나씩 줄어드는 스페이스찍기

그리고 마지막으로 별 찍고 끝내기

 

이렇게 문제 풀고 해설 봤는데 

중첩 반복문 하나에 조건문 하나 넣어서 해결할 수 있는 문제였다.. 역시

더 많은 공부가 필요할 듯 하다.

다음주에는 더 다양한 알고리즘 공부로 돌아오겠습니두


+) 문제 내용은 캡쳐해서 블로그에 공유할 수 있다고 되어있는데,

제가 혹시 무언가 잘못 공유했다면 (..) 누구든지 편하게 말씀해주세요-! 

당장 수정하러 오겠슴니다.