사용자 입력값이 5와 3일 경우
*****
*****
*****
이렇게 출력되어야 한다.
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
for(int i = 0; i < b; i++){
for(int j = 0; j < a; j++) {
System.out.print("*");
}
System.out.println(""); //println(); 추천
}
}
}
오답 : 눈이 따라가는대로 처음에 5개를 찍고 한줄 내려서 5개 5개 하는 식으로 생각하다보니 a로 먼저 for문 돌려야 겠다는 생각에 풀이가 늦어짐
다른 식의 좋은 풀이
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < a; i++) {
sb.append("*");
}
for(int j = 0; j < b; j++) {
System.out.println(sb.toString());
}
}
}
20
말로만 듣던 별찍기를 해봤다! 근데 제공된 솔루션 메서드에서 System.out.println(a + b); 이렇게 적혀있어서 문제 풀기 전부터 당황스러웠다. 사용자 입력값인 a랑 b를 더해서 어떻게 별을 찍으라는거냐고.. 왜이렇게 헷갈리게 해 둔걸까? 차라리 적어주지 말지. 그거 빼면 재밌었다. 로또 등수보다 훨씬 쉽고!
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[211214] 짝수와 홀수, 정수 제곱근 판별 (0) | 2021.12.15 |
---|---|
[211214] 콜라츠 추측 (0) | 2021.12.14 |
[211212][220103] 하샤드 수(/) (0) | 2021.12.12 |
[211212] 행렬의 덧셈 (0) | 2021.12.12 |
[211212] 로또의 최고 순위와 최저 순위 (0) | 2021.12.12 |