728x90
반응형
- 문제 설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
- 제한 조건
- n과 m은 각각 1000 이하인 자연수입니다.
- 나의 풀이
import java.util.Scanner;
public class coding_test_01 {
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(); //개행
}
}
}
반복문인 for문을 이용해서 바깥 for문을 돌면서 println를 지나면서 *의 세로의 갯수 찍어주고, 안쪽 for문을 돌면서 print를 *의 가로 갯수를 찍어주는 코드로 문제의 설명과 같이 *로 직사각형을 찍어주는 코드로 문제룰 풀었다.
-다른사람의 풀이
import java.util.Scanner;
import java.util.stream.IntStream;
public 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();
IntStream.range(0, a).forEach(s -> sb.append("*"));
IntStream.range(0, b).forEach(s -> System.out.println(sb.toString()));
}
}
별찍기.. 자바를 처음 자바 반복문을 배울 때, 많이 해봤던 문제이다. 그래서 인지 머릿속에 문제의 풀이가 박혀있어서 고민 없이 코드를 풀고, 다른사람들의 풀이를 봤는데, 풀이가 다양했다. 그 중에서 스트림 람다식을 이용해서 풀이를 한 코드가 눈에 들어왔다. 자바 공부를 해보자는 목적으로 코딩테스트를 시작했는데, 역시.. 다른 사람의 코드를 보는게 공부가 많이 되는 것 같다. (성능적으로는 어떤지 잘 모르겠지만 ㅠ )
자바를 사용하면서 람다식을 써본적이 없었는데, 이번 기회에 람다식과 스트림을 알아보고 넘어가야겠다..
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
프로그래머스[Level 1] - 정수 제곱근 판별 (java) (0) | 2022.10.03 |
---|---|
프로그래머스[Level 1] - 평균 구하기 (java) (0) | 2022.09.15 |
프로그래머스[Level 1] - 자릿수 더하기 (java) (0) | 2022.09.15 |
프로그래머스[Level 1] - 나머지가 1이 되는 수 찾기 (java) (0) | 2022.09.14 |