[백준,BOJ 2439] 별 찍기 - 2(JAVA 구현)

2020. 10. 6. 13:57·CodingTest/백준 온라인 저지(BOJ)
반응형

-해법

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in =new Scanner(System.in);
        
        int n = in.nextInt();
        
        for(int i=1;i<=n;i++) {
        	for(int j=1;j<=n-i;j++) {
        		System.out.print(" ");
        	}
        	for(int j=n;j>n-i;j--) {
        		System.out.print("*");
        	}
        	System.out.println();
        }
        
        in.close();
    }
}

 

  별 찍기 -1의 오른쪽 정렬 버전이다. 마찬가지로 행은 1~5까지 증가하며 열은 5부터 45, 345, 2345, 12345 순서로 *이 붙는다. 2중 for문에서 별을 찍지 않을 반복문과 찍을 반복문을 두고 생각하면 된다.

 

  1. 별을 찍지 않는 for문

  - 1행에 1,2,3,4열/ 2행에 1,2,3열/ 3행에 1,2열/ 4행에 1열 순으로 별이 찍히지 않는다. (=> for문의 종료조건이 감소)

  - 행별로 구분되므로 행으로 사용되는 변수인 i를 활용해 조건을 설정. (j<=n-i)

 

  2. 별을 찍는 for문

  - 1행에 5열/ 2행에 4,5열/ 3행에 3,4,5열/ 4행에 2,3,4,5열/ 5행에 1,2,3,4,5, 열 순으로 별이 찍힌다. (=> for문의 종료 조건이 증가, 조건에 해당하는 열이 증가한다는 의미)

  - 마찬가지로 행별로 구분되므로 i를 활용해 조건을 설정 (j> n-i) 

 


  이전엔 2중 for문에서 하나의 for문만을 안쪽에 두고 조건문을 통해 구분하여 별을 찍어봤기 때문에 이번엔 2개의 for문을 안쪽에 두어 풀어보았다. 솔직히 조건문을 이용하는 게 더 편하고 코드도 간결하다...

 

  이러한 문제는 2중 for문에 사용하는 변수를 어떻게 활용하여 조건을 세우는지가 중요하다고 생각하며, 그렇기에 사람들마다 풀이법이 다양하게 나타난다고 생각한다. 그냥 찍히기만 하면 된다.

저작자표시 (새창열림)
'CodingTest/백준 온라인 저지(BOJ)' 카테고리의 다른 글
  • [백준,BOJ 10952] A+B - 5(JAVA 구현)
  • [백준,BOJ 2439] X보다 작은 수(JAVA 구현)
  • [백준,BOJ 2438] 별 찍기 - 1(JAVA 구현)
  • [백준,BOJ 11022] A+B - 8(JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준1427
    component-scan
    백준2751
    meidum
    boj1427
    next 14
    백준7576
    medium
    Easy
    백준
    Java
    boj2108
    백준7576자바
    BOJ
    백준1260
    leetcode 2236
    TypeScript
    자바
    알고리즘
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[백준,BOJ 2439] 별 찍기 - 2(JAVA 구현)
상단으로

티스토리툴바