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 | 31 |
Tags
- java
- 보이는 학생
- 격자판
- 알고리즘
- 투 포인터
- Two Pointer
- 누적 계산
- GitHub #Commit #BaekJoon
- Pointer
- 큰 수 출력하기
- 점수계산
- 최대 길이
- 가장 짧은 문자거리
- 10991
- 두 배열 합치기
- 뒤집은 소수
- 배열
- 백준
- 등수구하기
- 코테준비
- 연속부분수열
- 임시반장 정하기
- array
- 10992
- ArrayList
- 모든행과열대각선의합
- 인프런
- 아스키코드
- 공통원소 구하기
- 자바
Archives
- Today
- Total
ezhoon
[백준] 2442_별 찍기 - 5_Java 본문
2442번: 별 찍기 - 5
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
⚠️ 주의사항
- 별의 수가 2*N-1개
- 별은 가운데를 기준으로 대칭
주의사항 1번은 별 출력 for문의 최대 조건을 말해주는 것이다.
가운데를 만드는 방법은 아래 문제풀이 코드를 보면서 설명하겠습니다.
문제풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class InputOutput_2442 {
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());
for (int i = 1; i <= N; i++) {
for (int j = 0; j < N - i; j++) {
sb.append(" ");
}
for (int j = 0; j < (2*i)-1; j++) {
sb.append("*");
}
sb.append("\n");
}
System.out.println(sb);
}
}
가운데 정렬을 하는데 5를 입력 받았을 경우를 예시로 들어보겠습니다.
최대로 찍히는 별은 2*N - 1이므로 9개 입니다. 그러므로 1개가 찍히는 첫 번째 열은 5번째가 정중앙이므로 아래와 같이 공백이 생깁니다.
- 1번째 4칸의 공백
- 2번째 3칸의 공백
- 3번째 2칸의 공백
- 4번째 1칸의 공백
- 5번째 0칸의 공백
이렇게 생기므로 공백은 아래 for문처럼 만들어주면 됩니다.
for (int j = 0; j < N - i; j++)
'[Java] 백준 문제풀이 > 입출력과 사칙연산' 카테고리의 다른 글
[백준] 2522_별 찍기 - 12_Java (0) | 2022.01.12 |
---|---|
[백준] 2445_별 찍기 - 8_Java (0) | 2022.01.12 |
[백준] 2441_별 찍기 - 4_Java (0) | 2022.01.11 |
[백준] 2438_별 찍기 - 3_Java (0) | 2022.01.11 |
[백준] 1924_ 2007년_Java (0) | 2022.01.11 |
Comments