오늘도 방구석에서
백준 알고리즘 2439 별찍기2 java 본문
https://www.acmicpc.net/problem/2439
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
예제 출력 1
* ** *** **** *****
내 생각엔...
먼저 좌표로 바꿔보기
___ ___ ___ ___ [1,5]
___ ___ ___ [2,4] [2,5]
___ ___ [3,3] [3,4] [3,5]
___ [4,2] [4,3] [4,4] [4,5]
[5,1] [5,2] [5,3] [5,4] [5,5]
먼저 변수 3개가 필요함
int i - 행바꿈을 위한 변수
int j - ___ (공백)을 표시할 변수
int k - *을 찍을 변수
예를 들어 5를 입력했을 때
좌표 [i, j]에서 i + j <= 5 까지 공백임을 확인
j를 기준으로 j <= 5 - i 로 표시
" * " 을 찍는 경우
첫번째 줄에선 1개
두번째 줄에선 2개
...
5번째 줄에선 5개 -> k = 행의 수 = i
먼저 j로 공백을 찍고 이어서 k 로 *을 찍는 구조
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.util.Scanner; public class boj_2439 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for (int i = 1; i <= num; i++) { for (int j = 1; j <= num-i; j++) { System.out.print(" "); } for (int k = 1; k <= i; k++) { System.out.print("*"); } System.out.println(); } sc.close(); } } | cs |
'공부를 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 2441 별찍기4 java (0) | 2019.01.08 |
---|---|
백준 알고리즘 2440 별찍기3 java (0) | 2019.01.08 |
백준 알고리즘 2438 별찍기 java (0) | 2019.01.07 |
[알고리즘] 제곱 구하기(Math.pow) (0) | 2018.11.28 |
[java] 알고리즘을 풀기위한 준비 - Scanner (0) | 2018.11.26 |