반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- codeup 1020 자바
- 가운데 글자 가져오기 python
- 청년 AI Big Data 아카데미 13기
- 나누어 떨어지는 숫자 배열 python
- 프로그래머스 가운데 글자 가져오기 python
- 트리의 지름 자바
- 빅분기실기
- 코드업 1020 자바
- 프로그래머스 가운데 글자 가져오기 자바
- m1 docker
- m1 docker install
- codeup 1020 java
- 가운데 글자 가져오기 java
- docker remove
- docker 완전 삭제
- 최단 경로 알고리즘
- 청년 Ai Big Data 아카데미
- 트리의 지름 java
- 코드업 1020 java
- 최소 스패닝 트리
- 프로그래머스 가운데 글자 가져오기 파이썬
- 핸즈온 머신러닝
- docker 삭제
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- 최소 스패닝 트리 자바
- 나누어 떨어지는 숫자 배열 java
- 가운데 글자 가져오기 자바
- 빅데이터분석기사
- 가운데 글자 가져오기 파이썬
Archives
- Today
- Total
NineTwo meet you
[백준] 10994 별 찍기 - 19 본문
반응형
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 차례대로 별을 출력한다.
예제
풀이
ArrayList에 가장 기본이 되는 *이 존재한다.
n까지 다음과 같은 일을 반복한다.
1. 이전 모양이 존재한다. (파란 사각형)
2. 0 인덱스 값부터 마지막 인덱스까지 다음과 같은 문자열을 추가한다.
3. ArrayList의 끝에 *(이전 문자열의 길이-2 만큼의 공백)* 인 문자열을 추가한다.
4. ArrayList의 끝에 이전 문자열의 길이만큼의 *줄을 추가한다.
n까지 모든 일을 수행했을 때,
al.size()-1부터 1까지 ArrayList를 출력하고 다시 0부터 al.size()-1까지의 ArrayList를 출력한다.
코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
import java.util.Scanner; | |
public class BOJ10994 { | |
static int n; | |
static ArrayList<String> al = new ArrayList<>(); | |
public static void main(String[] args) { | |
Scanner scanner = new Scanner(System.in); | |
n = scanner.nextInt(); | |
al.add("*"); | |
for(int a = 1; a < n; a++) { | |
for(int i = 0 ; i < al.size(); i++) { | |
String temp = al.get(i); | |
al.remove(i); | |
al.add(i, "* "+temp+" *"); | |
} | |
String temp = al.get(0); | |
String empty = ""; | |
for(int i = 0; i < temp.length()-2; i++) { | |
empty += " "; | |
} | |
al.add("*"+empty+"*"); | |
temp = ""; | |
for(int i = 0; i < empty.length()+2; i++) { | |
temp += "*"; | |
} | |
al.add(temp); | |
} | |
for(int i = al.size()-1; i > 0; i--) { | |
System.out.println(al.get(i)); | |
} | |
for(int i = 0 ; i < al.size(); i++) { | |
System.out.println(al.get(i)); | |
} | |
} | |
} |
반응형
'프로그래밍 문제 > 백준' 카테고리의 다른 글
[백준] 10996 별 찍기 - 21 (0) | 2020.06.26 |
---|---|
[백준] 10995 별 찍기 - 20 (0) | 2020.06.26 |
[백준] 10993 별 찍기 - 18 (0) | 2020.06.26 |
[백준] 10992 별 찍기 - 17 (0) | 2020.06.26 |
[백준] 10991 별 찍기 - 16 (0) | 2020.06.26 |