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
- JavaScript
- mybatis
- 정보처리기사필기요약
- Java
- 개발자
- github
- where
- 데이터 조회
- 자바
- html
- 자바스크립트
- 입출력
- order by
- 백준
- 웹개발
- 프로그래머스 SQL
- 리눅스
- DML
- select문
- 알고리즘
- 형변환
- 백엔드
- Git
- 정보처리기사
- 메서드
- MySQL
- 프로그래머스 sql 고득점 kit
- 프론트엔드
- Linux
- scanner
- SQL
- StringBuilder
- BufferedReader
- select
- 클래스
- 프로그래밍
- String클래스
- 예외처리
- sql문
- 스프링
Archives
- Today
- Total
ToBe끝판왕
[ 알고리즘 ] 백준 2439번 문제 - 자바( JAVA ) 본문
반응형
주의사항
※ 백준에서 정해진 출력 형식을 출력해야 한다.
※ 백준 알고리즘에서는 클래스명을 Main으로 해주어야 한다.
백준 2439번 문제
백준 알고리즘의 단계별 문제 풀기
3단계 < 반복문 >
▶ 해당 문제 링크
https://www.acmicpc.net/problem/2439
코딩 하기
1) Scanner 사용
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<=N-i; j++ ) {
System.out.print( " " );
}
for( int k=0; k<i; k++ ) {
System.out.print( "*" );
}
System.out.println();
}
}
}
2) BufferedReader 사용
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main( String[] args ) throws IOException {
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
int N = Integer.parseInt( br.readLine() );
br.close();
for( int i=1; i<=N; i++ ) {
for( int j=1; j<=N-i; j++ ) {
System.out.print( " " );
}
for( int k=1; k<=i; k++ ) {
System.out.print( "*" );
}
System.out.println( );
}
}
}
문제 해결
• 1행부터 N행까지 출력을 하기 위한 반복문을 먼저 생각한다.
for( int i=1; i<=N; i++ )
• 출력을 보면 1행에 4개 , 2행에 3개 즉, n번째 행에는 N-n 개의 공백이 출력
별은 n번째 행에 n개가 출력되어야 한다.
• i = 행 이므로, N - i 값 만큼 공백을 출력해야 한다.
• 이중 for문 출력
- 공백 출력의 경우, 내부 for문의 j 는 N-i 만큼 반복하면 된다.
for( int i=1; i<=N; i++ ) {
for( int j=1; j<= N-i; j++ ) {
print( " " );
}
}
• 별의 개수는 i의 값만큼 출력하니 이중 for문 외부에 for문을 하나 더 만든다.
• 한행의 출력이 끈나면 개행( 줄바꿈 ) 이 푤하기 떄문에 System.out.println( ); 으로 개행처리를 해준다.
for( int i=1; i<=N; i++ ) {
for( int j=1; j<=N-i; j++ ) {
System.out.print( " " );
}
for( int k=1; k<=i; k++ ) {
System.out.print( "*" );
}
System.out.println( );
}
반응형
'■ 알고리즘 > 백준 JAVA' 카테고리의 다른 글
[ 알고리즘 ] 백준 10951번 문제 - 자바( JAVA ) (0) | 2022.05.27 |
---|---|
[ 알고리즘 ] 백준 10871번 문제 - 자바( JAVA ) (0) | 2022.05.27 |
[ 알고리즘 ] 백준 11021번 문제 - 자바( JAVA ) (0) | 2022.05.26 |
[ 알고리즘 ] 백준 2741번 문제 - 자바( JAVA ) (0) | 2022.05.25 |
[ 알고리즘 ] 백준 15552번 문제 - 자바( JAVA ) (0) | 2022.05.25 |
Comments