문제 풀이/CodeUp

CodeUp_1356 : 사각형 출력하기 2

윤지(●'◡'●) 2021. 4. 16. 11:32
반응형


▪ 문제 내용

길이 n이 입력되면 다음과 같은 사각형을 출력한다.

예)
n이 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 || i == n-1) {
				for (int j = 0; j < n; j++) {
					System.out.print("*");
				}
			}else {
				for (int k = 0; k < n; k++) {
					if(k == 0 || k == n-1) {
						System.out.print("*");
					}else {
						System.out.print(" ");
					}
				}	
				
			}
			System.out.println();
		}
	}
}

▪ 코드 풀이

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); //Scanner 객체 생성(입력 메소드)
		
		int n = sc.nextInt(); // 입력한 줄 수를 변수n에 저장
		
		for (int i = 0; i < n; i++) { // 줄 수를 정하는 변수i, n만큼 반복
			if(i == 0 || i == n-1) { // 만약 첫번째줄과, 마지막 줄이라면
				for (int j = 0; j < n; j++) { // 별 수를 정하는 변수 j, n보다 작은동안 반복
					System.out.print("*");
				}
			}else { // 첫번째줄과, 마지막줄이 아니라면
				for (int k = 0; k < n; k++) { //별 수를 정하는 변수 k, n보다 작은동안 반복
					if(k == 0 || k == n-1) { //만약 첫번째와 마지막이라면 
                    						//	ex) n이 4일때 -> 0과 3
						System.out.print("*"); // *을 출력한다
					}else { //아니라면	ex) n이 4일때 -> 1 ~ 2 
						System.out.print(" "); // 공백을 출력한다
					}
				}		
			}
			System.out.println(); // 한줄이 끝날때마다 줄바꿈
		}
	}
}

 

좀 더 쉬운 이해를 위해 공백을 ^로 표현했습니다 :)

▪ 출력 내용

 

3
***
* *
***
반응형