[백준,BOJ 2442] 별 찍기-5(JAVA 구현)

2019. 11. 29. 16:45·CodingTest/백준 온라인 저지(BOJ)
반응형

 

-해법

  이 문제의 경우 최하단이 2*n-1개의 별을 찍는다는 것을 알 수 있다. 즉, 각 열의 중앙부터 첫 줄은 중앙 +- 0에 , 두 번째 줄은 중앙+-1에, 세 번째는 중앙+-2에.... 식으로 별을 찍어주면 되는데 주의사항은 문제에서는 언급이 되어있지 않지만, 각 별을 찍을 때 별이 마지막이 되어야 한다. 무슨 이야기냐면, 

[    *]

[   ***]

[  *****]

[ *******]

[*********]

식으로 앞자리는 공백으로 채워줘야 하고 별 이후로는 공백을 찍으면 안 된다. 이것 때문에 많은 분들이 출력 형식 오류처리를 받는 것 같다. 이 부분만 주의해주면 된다.

 

import java.util.*;

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++) {
			for(int j=1;j<2*n;j++) {
				if(j>=n-i && j<=n+i) { // 중앙을 기준으로 +-i 범위에서는 별을 찍는다.
					System.out.print("*");
				}else { // 아닌 경우는 앞 자리에 공백을 채워준다.
					System.out.print(" ");
				}
				if(j> n+i) break; // j가 별의 범위를 넘어서는 순간 반복문을 벗어난다.
			}			
			System.out.println();
		}
		
		
	}
	
}
저작자표시 (새창열림)
'CodingTest/백준 온라인 저지(BOJ)' 카테고리의 다른 글
  • [백준,BOJ 2522] 별 찍기-12 (JAVA 구현)
  • [백준,BOJ 2445] 별 찍기-8(JAVA 구현)
  • [백준,BOJ 2441] 별 찍기-4(JAVA 구현)
  • [백준,BOJ 2440] 별 찍기-3(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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바