이 영역을 누르면 첫 페이지로 이동
천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

페이지 맨 위로 올라가기

천천히 꾸준히 조용히

천천히 꾸준히 조용히.. i3months 블로그

[백준] 10994 별 찍기 - 23 - Java

  • 2022.02.18 10:31
  • Algorithm/Baekjoon
반응형

 

 

 

이차원 배열을 생성하고 문제의 조건에 따라 별을 찍었는데.. 풀고 난 다음 코드를 다듬지 않아서 좀 지저분하다..

 

별찍기 문제에서 "출력 형식이 잘못됐습니다"오류를 자주 볼 수 있는데, 이 경우는 이차원 배열을 출력할 때 불필요한 공백 부분까지 출력하게 되어 발생하는 경우가 많다.

 

이번에도 출력은 제대로 나오는데, 출력 형식이 잘못됐다고 해서 출력부분을 조작해서 공백 출력을 막아서 해결했다.

 

Java

 

1. 최상단과 최하단

 

2. 가운데

 

3. 나머지

 

위의 세 가지 경우에 따라 별을 찍었다.

 

 

import java.util.*;
import java.io.*;

public class Main {


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

		

		char[][] arr = new char[N*2-1][(N-1)*2-1+(2*N)];

		for(int i=0; i<2*N-1; i++){
			for(int j=0; j<(N-1)*2-1+(2*N); j++){
				arr[i][j] = ' ';
			}
		}

		
		
		for(int i=0; i<2*N-1; i++){
			for(int j=0; j<(N-1)*2-1+(2*N); j++){
				if(i == 0 || i == 2*N-2){
					if(j<N || j>=(N-1)*2-1+(2*N)-1-(N-1)){
						arr[i][j] = '*';
					}
				}else if(i == N-1){
					if(j == 2*N-1-1 || j == 2*N-1-1 - (N-2+1) || j == 2*N-1-1 +(N-2+1)){
						arr[i][j] = '*';
					}
				}else if(i<=N-1){
					if(j == 2*N-2 - (N-i-2+1) || j == 2*N-2 + (N-i-2+1) || j == 2*N-2 -(N-i-2+1) - (N-2+1) || j == 2*N-2 + (N-i-2+1) + (N-2+1)){
						arr[i][j] = '*';
					}
				}else{
					if(j == 2*N-2 - (i-(N-2)+(N-2)) || j == 2*N-2 + (i-(N-2)+(N-2)) || j == 2*N-2 -(i-(N-2)+(N-2)) + (N-2+1) || j == 2*N-2 + (i-(N-2)+(N-2)) - (N-2+1)){
						arr[i][j] = '*';
					}
				}
			}
		}


	loop1: for(int i=0; i<2*N-1; i++){
			int check = 0;
		  for(int j=0; j<(N-1)*2-1+(2*N); j++){
				if(i == 0 || i == 2*N-2 || i == N-1){
					if(i == N-1){
						if(arr[i][j] == '*'){
							check++;
							System.out.print(arr[i][j]);
						
							if(check==3){
								System.out.println();
								continue loop1;
							}
						}else{
							System.out.print(arr[i][j]);
						}
					}else{
						System.out.print(arr[i][j]);
						continue;
					}
				
				}else{
					if(arr[i][j] == '*'){
						check++;
						System.out.print(arr[i][j]);
						
						if(check == 4){
							System.out.println();
							continue loop1;
						}
					}else{
						System.out.print(arr[i][j]);
					}
				}

			}
			System.out.println();
		}

	} 
}

 

 

반응형

'Algorithm > Baekjoon' 카테고리의 다른 글

[백준] 14891 톱니바퀴 -Java  (0) 2022.02.19
[백준] 1850 최대공약수 -Java  (1) 2022.02.18
[백준] 10994 별 찍기 - 19 -Java  (0) 2022.02.17
[백준] 22252 정보 상인 호석 -Java  (0) 2022.02.16
[백준] 2075 N번째 큰 수 -Java / Python  (0) 2022.02.16

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [백준] 14891 톱니바퀴 -Java

    [백준] 14891 톱니바퀴 -Java

    2022.02.19
  • [백준] 1850 최대공약수 -Java

    [백준] 1850 최대공약수 -Java

    2022.02.18
  • [백준] 10994 별 찍기 - 19 -Java

    [백준] 10994 별 찍기 - 19 -Java

    2022.02.17
  • [백준] 22252 정보 상인 호석 -Java

    [백준] 22252 정보 상인 호석 -Java

    2022.02.16
다른 글 더 둘러보기

정보

천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

  • 천천히 꾸준히 조용히의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (682)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (142)
      • Machine Learning (38)
      • Operating System (18)
      • Computer Network (28)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Computer Architecture (4)
      • Compiler Design (11)
      • Computer Security (13)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Amazon Web Service (8)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • 💡 솔루션 (17)
    • 👥 모각코 (12)
    • 💬 기록 (8)
    • 📚 공부 (7)
    • -------------- (25)

최근 글

나의 외부 링크

메뉴

  • 홈
반응형

정보

i3months의 천천히 꾸준히 조용히

천천히 꾸준히 조용히

i3months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © i3months.

티스토리툴바