```
백준 18883번 N M 찍기 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 18883번 풀이
https://www.acmicpc.net/problem/18883
18883번: N M 찍기
총 N개의 줄을 출력해야 한다. 각 줄에는 M개의 정수를 공백 한 칸으로 구분해 출력해야 한다. 1번 줄에는 1부터 M까지, 2번 줄에는 M+1부터 2×M까지, ..., N번 줄에는 (N-1)×M+1부터 N×M까지 출력해야
www.acmicpc.net
백준 18883번 N M 찍기는
난이도 브론즈 등급의 문제로서
숫자 A와 B가 주어지면
A 곱하기 B 보다 작고 0 보다 큰 숫자를 A 행 B 열의 순서대로
각 열은 " "을 사이에 두고
각 행은 "\n" 을 사이에 두며
마지막 행은 "\n"을 가지게
출력해주면 되는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
입력을 받고
정해진 조건에 맞춰서 O(N^2)의 시간 복잡도를 가지고
For문을 두번 돌려서 출력하였습니다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.IntStream;
public class Main {
// BufferedReader Object 생성
static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
StringTokenizer st = new StringTokenizer(br.readLine());
final int row = Integer.parseInt(st.nextToken());
final int col = Integer.parseInt(st.nextToken());
StringBuilder sb = new StringBuilder();
AtomicInteger idx = new AtomicInteger();
IntStream.range(0, row).forEach((y) -> {
IntStream.range(0, col).forEach((x) -> {
idx.getAndIncrement();
sb.append(idx.get()).append(" ");
});
sb.setLength(sb.length() - 1);
sb.append("\n");
});
System.out.print(sb);
}
}
//codemasterkimc.tistory.com [김씨의 코딩 스토리]
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
'Java > Java 알고리즘' 카테고리의 다른 글
| 백준 13163번 닉네임에 갓 붙이기 JAVA 구현해보기 (0) | 2022.05.13 |
|---|---|
| 백준 16171번 나는 친구가 적다 (Small) JAVA 구현해보기 (0) | 2022.05.10 |
| 백준 25024번 시간과 날짜 JAVA 구현해보기 (0) | 2022.05.09 |
| 백준 25083번 새싹 JAVA 구현해보기 (0) | 2022.05.09 |
| 백준 1173번 운동 JAVA 구현해보기 (0) | 2022.05.09 |