츄르사려고 코딩하는 코집사입니다.
1. [코드업] 기초 100제 1096번 바둑판에 흰 돌 놓기 자바(JAVA)
1) 문제번호 : 1096번
2) 문제 출처
2. 문제
기숙사 생활을 하는 학교에서 어떤 금요일(전원 귀가일)에는 모두 집으로 귀가를 한다.
오랜만에 집에 간 영일이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가
"바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다.
바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때,
n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자.
참고
가로번호, 세로번호를 사용할 수 있는 2차원 배열을 사용하면
이러한 형태를 쉽게 기록하고 사용할 수 있다. 물론 더 확장한 n차원 배열도 만들 수 있다.
예시
int n, i, j, x, y;
int a[20][20]={};
scanf("%d", &n);
for(i=1; i<=n; i++)
{
scanf("%d %d", &x, &y);
a[x][y]=1;
}
for(i=1; i<=19; i++) //한 줄(위에서 아래로) 씩
{
for(j=1; j<=19; j++) //한 열(왼쪽에서 오른쪽으로) 씩
{
printf("%d ", a[i][j]); //값 출력
}
printf("\n"); //줄 바꾸기
}
3. 제약사항
-
4. 입력
바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력된다.
둘째 줄 부터 n+1 번째 줄까지 힌 돌을 놓을 좌표(x, y)가 n줄 입력된다.
n은 10이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이며, 같은 좌표는 입력되지 않는다.
5. 출력
흰 돌이 올려진 바둑판의 상황을 출력한다.
흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력한다.
6. 풀이
-
7. 소스 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[][] arr = new int[19][19];
int N = sc.nextInt();
for(int a=0;a<N;a++) {
int x = sc.nextInt();
int y = sc.nextInt();
arr[x-1][y-1] = 1;
}
for(int i=0;i<19;i++) {
for(int j=0;j<19;j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
'알고리즘 > 코드업' 카테고리의 다른 글
[코드업] 기초 100제 1099번 성실한 개미 자바(JAVA) (2) | 2021.02.05 |
---|---|
[코드업] 기초 100제 1097번 바둑알 십자 뒤집기 자바(JAVA) (0) | 2021.02.05 |
[코드업] 기초 100제 1098번 설탕과자 뽑기 자바(JAVA) (1) | 2021.02.05 |
[코드업] 기초 100제 1095번 이상한 출석 번호 부르기3 자바(JAVA) (0) | 2021.02.05 |
[코드업] 기초 100제 1094번 이상한 출석 번호 부르기2 자바(JAVA) (0) | 2021.02.05 |
[코드업] 기초 100제 1093번 이상한 출석 번호 부르기1 자바(JAVA) (4) | 2021.02.05 |
[코드업] 기초 100제 1092번 함께 문제 푸는 날 자바(JAVA) (1) | 2021.02.05 |
[코드업] 기초 100제 1091번 수 나열하기3 자바(JAVA) (3) | 2021.02.05 |
최근댓글