티스토리 뷰

백준 온라인 저지(BOJ) 2438번 별찍기 - 1
https://www.acmicpc.net/problem/2438
2438번: 별 찍기 - 1
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
www.acmicpc.net
* 사용언어 : java, 자바
1. 문제
별(*)을 첫째 줄에 1개, 둘째 줄에 2개, N번째 줄에 N개 출력

2. 풀이
2중 for문을 사용하여 해결하는 문제입니다.
코딩 입문 후 처음 만나는 고비라고 할 수 있습니다.
2중 for문은 앞으로 알고리즘 문제 자주 사용될 패턴입니다.
BFS 등의 문제에서 2차원 map 표현 시 쓰이므로 이 문제는 반드시 이해하시고 넘어가셔야 합니다.
n이 3일 때를 가정해보겠습니다.
첫 번째 줄에 별 1개찍고 개행,
두 번째 줄에 별 2개찍고 개행,
세 번째 줄에 별 3개찍고 개행입니다.
일반화해보면, i 번째 줄에 별 i개 찍고 개행이죠.
이를 활용하여 2중 for문을 작성해보겠습니다.
1) 바깥쪽 for문의 인덱스(i, 아이)는 줄을 표현해줍니다.
i가 1이면 첫 번째 줄, i가 2면 두 번째 줄, i가 3이면 세 번째 줄입니다.
2) 안쪽 for문에서 이 인덱스를 사용하여, i 만큼 반복하면서 별을 출력합니다.
즉, 새로운 인덱스(j, 제이)로 for문을 도는데, 1부터 i까지 반복하는 겁니다.
이해가 안되시면 직접 코드를 보시면서 i가 1일 때, j는 어디까지 늘어나고, 어떻게 출력되는지 생각해보세요.
직접 코드를 손으로 적어보고, 생각해보시면 이해하는데 도움이 될 겁니다.
3. 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= i; ++j) {
System.out.print("*");
}
System.out.println();
}
}
}
* print 메서드는 println과 다르게 출력 후 개행하지 않습니다.
'개발자 > 문제풀이(Java)' 카테고리의 다른 글
| [백준/BOJ] 2440번 별찍기 - 3 (java) (0) | 2017.12.26 |
|---|---|
| [백준/BOJ] 2439번 별찍기 - 2 (java) (0) | 2017.12.26 |
| [백준/BOJ] 2739번 구구단 (java) (0) | 2017.12.21 |
| [백준/BOJ] 2742번 기찍 N (java) (0) | 2017.12.21 |
| [백준/BOJ] 2741번 N 찍기 (java) (0) | 2017.12.21 |
- Total
- Today
- Yesterday
- 자동차보험
- 여가포인트
- 문현공
- 정올
- 알고리즘
- 영화감상평
- 독서 감상평
- 구구단 4
- 회의 정렬
- 항상 이기는 조직
- 자료구조
- 이상감지
- 시스템개발자
- 센터독서클럽
- 알고리즘 리더
- 12338
- JUNGOL
- 나의첫죽음학수업
- 쿠프마케팅
- 삼성전자
- 아가별
- 구구단 2
- 똑똑하고게으르게
- 마침내 특이점이 시작된다
- 12422
- 독서감상평
- 구구단 1
- 구구단 3
- 관계가상처가되기전에
- 화살표(고)
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
