반응형
250x250
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
- 문자열제곱
- 큰 수 연산
- 조합론
- 재귀
- LeetCode 83번
- LeetCode Remove Duplicates from Sorted List in c
- 해시를 사용한 집합과 맵
- 큐
- 사칙연산
- KMP알고리즘
- 브루트포스 알고리즘
- 정수론
- 다이나믹 프로그래밍
- 임의 정밀도 / 큰 수 연산
- 구현
- 별 찍기
- 연결리스트 중복제거
- 자료 구조
- 문자열
- 연결리스트 정렬
- 프로그래머스
- Queue
- LeetCode 83 c언어
- 스택
- 이분 탐색
- 정렬
- 유클리드 호제법
- 수학
- 시뮬레이션
- 실패함수
Archives
- Today
- Total
hahn
[백준 - JAVA] 별 찍기 - 11 본문
728x90
반응형
2448번: 별 찍기 - 11 (acmicpc.net)
http://boj.kr/7700f688a10c41bfa7d7c270d1be766e
더보기
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int lineCount = sc.nextInt();
String[] printArr = {"*", "* *", "*****"},
storeArr;
String space = " ";
storeArr = printArr;
for(int i = 2; i <= lineCount / 3; i *= 2) {
printArr = new String[lineCount];
for(int j = 0; j < i * 3; j++) {
space += " ";
}
for(int j = 0; j < i * 3; j++) {
if(j >= i * 3 / 2) {
space = space.substring(2);
printArr[j] = storeArr[j % (i * 3 / 2)] + space + storeArr[j % (i * 3 / 2)];
}else {
printArr[j] = storeArr[j];
}
}
storeArr = printArr;
}
if(space.equals("")) space = " ";
for(int i = 1; i < lineCount; i++) {
space += " ";
}
for(int i = 0; i < printArr.length; i++) {
space = space.substring(1);
System.out.println(space + printArr[i] + space);
}
}
}
전에 했던 별 찍기
Botherahn :: 단계별로 풀어보기(재귀 - 별 찍기 - 10) (tistory.com)
얘랑 비슷한 문제인데
다시 푸려니까 막막했다.
그래도 조금 고민하니까 똑같은 방식으로
진행되었다.
뭐 딱히 수학적으로 푼 것 같지는 않고,
다음 삼각형이 생성될 때
현재 삼각형의 맨 아랫줄의 길이와 같은
공백이 삼각형의 맨 윗줄 사이에 들어간다는 것과
1줄 늘어날 때마다 일정한 길이만큼 공백이 감소함을 확인할 수 있었고,
좌 공백 역시 이와 비슷한 규칙을 가지고 있다는 것이다.
이걸 이용해서 풀었는데 출력 형식 오류가 뜨길래
예제 출력의 오른쪽 공백에 해당되는 부분이 포함됨을 확인하고
그냥 뒤에 앞과 같이 공백 추가해줬다.
이걸 확인하고 나니까 굳이 공백을 변수 처리 안 하고도
해결할 수 있을 듯??
728x90
반응형
'코딩테스트 연습 > 백준(JAVA)' 카테고리의 다른 글
[백준 - JAVA] 별 찍기 - 13 (0) | 2021.09.16 |
---|---|
[백준 - JAVA] 별 찍기 - 12 (0) | 2021.09.16 |
[백준 - JAVA] 별 찍기 - 9 (0) | 2021.09.16 |
[백준 - JAVA] 별 찍기 - 8 (0) | 2021.09.16 |
[백준 - JAVA] 별 찍기 - 7 (0) | 2021.09.16 |