티스토리 뷰
Solved.ac Class 완전정복 프로젝트
Class : 1 ~ 1 ++
링크
https://www.acmicpc.net/problem/2439
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
접근방법
문제에서 요구하는 것은 단순하다. 출력 개수만큼 오른쪽 정렬을 하여 별 찍기를 하라는 것. 그 말은 별의 시작이 왼쪽부터라는 의미이며, 길이가 늘어날수록 시작점이 오른쪽으로 밀린다. 나는 공백에 집중해서 쉽게 풀었다.공백이 찍히는 갯수는 전체 줄 N의 길이보다 작은 N-(i+1) 개이다. 해당 인덱스를 확인하여 공백이 들어갈지 *들어갈지 판별하여 반복문을 이용하는 식으로 해답을 찾았다.
코드
import java.util.Scanner;
public class BJ_2439 {
public static void main(String[] args) {
BJ_2439 test = new BJ_2439();
}
public BJ_2439(){
Scanner sc = new Scanner(System.in);
StringBuilder sb =new StringBuilder();
int cnt = sc.nextInt();
String[] answer = solution(cnt);
//string builder 를 통한 출력문
for (int i = 0 ; i < answer.length ; i++){
sb.append(answer[i]);
sb.append("\n");
}
System.out.println(sb);
}
public String[] solution(int cnt){
String[] answer = new String[cnt];
String sen = "";
for (int i = 0 ; i < answer.length ; i++){
sen = "";
//공백을 answer.length -(i+1) idx 만큼만 칠하고 나머지는 * 로 칠하여 오른쪽 정렬
for (int j = 0 ; j < answer.length;j++){
if( j < (answer.length - (i+1))){
sen +=" ";
}else{
sen +="*";
}
}
answer[i] = sen;
}
return answer;
}
}
'공부 > 코딩 테스트 준비' 카테고리의 다른 글
[백준] 2577 - 숫자의 개수 (0) | 2021.08.14 |
---|---|
[백준]2562 - 최대값 JAVA (0) | 2021.08.14 |
[백준] 1546 - 평균 JAVA (0) | 2021.08.11 |
[백준] 2231 - 분해합 JAVA (0) | 2021.08.07 |
[백준] 2798 - 블랙잭 JAVA (0) | 2021.08.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 재귀
- 유클리드-호제법
- db
- looker instance 접속
- 하루 회고
- 자바
- 파이썬
- value annotation
- 아기상어미워
- DP
- 브루트포스
- 코딩테스트
- java
- 백준
- BFS
- 실패일기
- Database
- 프로그래머스 문제정복
- looker core
- 그래프 탐색
- 프로그래머스
- dml
- 9019
- DFS
- JNDI연동
- Spring
- Python
- 아기상어나쁜상어
- 플루이드 와샬
- 카카오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함