[백준,BOJ 10992] 별 찍기-17( JAVA 구현)

2019. 11. 30. 15:17·CodingTest/백준 온라인 저지(BOJ)
반응형

-내 생각

  이번 문제는 별 찍기-16 문제와 아주 유사한 문제였다. 예제 출력에서 규칙성을 찾아보면, 먼저 마지막 줄은 항상 모든 별을 출력하고, 마지막 행 이전의 행들은 찍었다 안 찍었다를 반복하는 것이 아닌, 특정 범위의 양 끝 부분만 별을 찍는 것이다. 예제 출력 4를 보면, 별 찍기-16과 마찬가지로 n번 째 열에 별을 한 개 찍고 행이 증가할 수록 n을 기준으로 양방향으로 +j씩 별의 범위가 증가하게 된다. 그렇다면 이 범위에서 양 끝에 속하는 열에만 별을 찍어주면 된다.

 

for(int i=0;i<n;i++) { // 별의 범위에서 양 끝에 속하는 열을 출력해야 하므로, 0부터 시작한다.
					// 예를들어 n이 4일 경우 첫 번째 행은 4번 열에만 별이 찍히고, 
                    // 두 번째 행은 4-1, 4+1 열에만 별이 찍히게 된다.
			for(int j=1;j<2*n;j++) { // 열의 범위는 별 찍기-16과 동일하다.
				if(j>n+i) break; // 마지막 별을 찍었으면 반복문을 벗어난다.
				if(i==n-1) { // 마지막 행에 도착하면 모든 열에 별을 찍는다.
					System.out.print("*");
					continue;
				}
				if(j==n-i || j==n+i) { // 범위의 양 끝에 별을 찍는다.
					System.out.print("*");
				}else
					System.out.print(" ");
			}
			System.out.println();
			
	}

 

저작자표시 (새창열림)
'CodingTest/백준 온라인 저지(BOJ)' 카테고리의 다른 글
  • [백준,BOJ 1793] 타일링( JAVA 구현)
  • [백준,BOJ 11726] 2xn 타일링( JAVA 구현)
  • [백준,BOJ 10991] 별 찍기-16( JAVA 구현)
  • [백준,BOJ 2446] 별 찍기-9( 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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바