일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- IntelliJ
- Project
- 입출력
- coding test
- 자바
- jdk11
- ps
- 팀프로젝트
- React
- 백준
- AWS
- spring boot
- Controller
- 공유DB
- MariaDB
- MVC
- 프로젝트
- javascript
- 디자인패턴
- 코딩테스트
- JPA
- SpringBoot
- spring
- 취준생
- 코테
- Java
- gradle
- JDK
- 자취
- 스프링
Archives
- Today
- Total
Tech Collection
[10992] 별 찍기-17 : Java 본문
728x90
반응형
10992번: 별 찍기 - 17
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
www.acmicpc.net
문제 해석
1. 입력 수가 1 or 2 일 때
: 삼각형을 만들기위해 공백을 넣지 않아도 된다.
: 케이스 따로 만들기
2. 입력 수가 3 이상일 때
: 공백
- 전체 줄의 수 - 현재 줄의 수
: 별
- 첫번째 줄: 1개
- 두번째 줄 ~ 마지막 전 줄: 2개
- 마지막 줄: 2n-1
: 별 안쪽 공백
- 홀수로 늘어남
- 두번째 줄: 1개
- 세번째 줄: 3개
Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n == 1) {
System.out.println('*');
} else if (n == 2) {
System.out.println(" *");
System.out.println("***");
} else {
for(int i=1; i<=n; i++) {
String s = "";
if(i == n) {
s = new String(new char[2*n-1]).replace('\u0000', '*');
} else {
s = new String(new char[n - i]).replace('\u0000', ' ');
if (i == 1) {
s += "*";
} else {
s += "*";
s += new String(new char[2*(i-1)-1]).replace('\u0000', ' ');
s += "*";
}
}
System.out.println(s);
}
}
}
}
728x90
반응형