B128:簡易的二次元バーコード
B128:簡易的二次元バーコード
B128:간이적이차원바코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String N = scanner.nextLine();
scanner.close();
char[][] grid = new char[3][N.length() * 3];
for (char[] row : grid) {
Arrays.fill(row, '.');
}
for (int i = 0; i < N.length(); i++) {
int num = Character.getNumericValue(N.charAt(i));
for (int j = 0; j < num; j++) {
int row = j / 3;
int col = i * 3 + j % 3;
grid[row][col] = '#';
}
}
for (int i = 0; i < N.length(); i+=3) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
System.out.print(grid[j][i*3+k]);
}
for (int k = 0; k < 3; k++) {
System.out.print(grid[j][i*3+3+k]);
}
for (int k = 0; k < 3; k++) {
System.out.print(grid[j][i*3+6+k]);
}
System.out.println();
}
}
}
}
Java標準入力で与えられた数を特定のパターンの2次元バーコードに変換します。
1. システムから下記の入力を受け付けます。
Java표준입력으로 주어진 수를 특정한 패턴의 2차원 바코드로 변환한다.
1. 시스템으로 부터 아래의 입력을 받는다.
입력예1 123456
入力例1 123456
#..##.###
.........
.........
#########
#..##.###
.........
입력예2 314159265
入力例2 314159265
####..###
......#..
.........
#..######
...##.###
......###
##.######
...#####.
.........
2.入力を受けた文字列の長さと各数字を示す3x3グリッドを2次元配列である'grid'で宣言する。
3.すべてのカンヌを'。'で埋め尽くされてグリッドを初期化する。
4.各数字の左上段で対角線で'#'を満たそう。
例)数字3左上段で三つの'#'をグリッドに留めて数字4を四つの'#'をグリッドに入れている。
5.グリッドを巡回しながら、各行を出力して学問以上は、当該数字の桁で構成される3x3格子で表現される。
2. 입력받은 문자열의 길이와 각 숫자를 나타내는 3x3그리드를 2차원배열인 'grid'로 선언한다.
3. 모든 칸을 '.'로 채워 그리드를 초기화한다.
4. 각 숫자의 왼쪽상단부터 대각선으로 '#'를 채운다.
예) 숫자 3 왼쪽상단부터 세개의 '#'을 그리드에 채우고 숫자4에 대해 네개의 '#'를 그리드에 채운다.
5. 그리드를 순회하며 각 행을 출력하고 각행은 해당 숫자의 자릿수에 따라 구성되며 3x3 그리드로 표현된다.
-----------------------------------------------
Java 표준입력이란?
- 사용자로부터의 입력. 즉 키보드로 부터의 입력
- java.util.Scanner 클래스는 표준 입력을 받는데 가장 많이 이용되는 도구로 Scanner는 다양한 타입의 입력(문자, 정수, 실수)등을 처리할 수 있다.