츄르사려고 코딩하는 코집사입니다.
1. [코드업] 기초 100제 1097번 바둑알 십자 뒤집기 자바(JAVA)
1) 문제번호 : 1097번
2) 문제 출처
2. 문제
부모님을 기다리던 영일이는 검정/흰 색 바둑알을 바둑판에 꽉 채워 깔아 놓고 놀다가...
"십(+)자 뒤집기를 해볼까?"하고 생각했다.
바둑판(19 * 19)에 흰 돌(1) 또는 검정 돌(0)이 모두 꽉 채워져 놓여있을 때,
n개의 좌표를 입력받아 십(+)자 뒤집기한 결과를 출력하는 프로그램을 작성해보자.
참고
가로 번호, 세로 번호를 사용할 수 있는 2차원 배열을 사용하면
이러한 형태를 쉽게 기록하고 사용할 수 있다. 물론 더 확장한 n차원 배열도 만들 수 있다.
예시
int n, i, j, x, y;
int a[20][20]={};
for(i=1; i<=19; i++) //한 줄씩 바둑판 상황 입력 받기
for(j=1; j<=19; j++)
scanf("%d", &a[i][j]);
scanf("%d", &n); //좌표 개수 입력받기
for(i=1; i<=n; i++) //좌표의 개수만큼
{
scanf("%d %d", &x, &y);
for(j=1; j<=19; j++) //가로 줄 흑<->백 바꾸기
{
if(a[x][j]==0) a[x][j]=1;
else a[x][j] = 0;
}
for(j=1; j<=19; j++) //세로 줄 흑<->백 바꾸기
{
if(a[j][y]==0) a[j][y]=1;
else a[j][y] = 0;
}
}
...
3. 제약사항
-
4. 입력
바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력된다.
십자 뒤집기 횟수(n)가 입력된다.
십자 뒤집기 좌표가 횟수(n) 만큼 입력된다. 단, n은 10이하의 자연수이다.
5. 출력
십자 뒤집기 결과를 출력한다.
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];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
arr[i][j] = sc.nextInt();
}
}
int N = sc.nextInt();
for (int n = 0; n < N; n++) {
int x = sc.nextInt()-1;
int y = sc.nextInt()-1;
for (int i = 0; i < arr.length; i++) {
if (arr[x][i] == 0) arr[x][i] = 1;
else arr[x][i] = 0;
}
for (int j = 0; j < arr.length; j++) {
if (arr[j][y] == 0) arr[j][y] = 1;
else arr[j][y] = 0;
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
'알고리즘 > 코드업' 카테고리의 다른 글
[코드업] 기초 100제 1099번 성실한 개미 자바(JAVA) (2) | 2021.02.05 |
---|---|
[코드업] 기초 100제 1098번 설탕과자 뽑기 자바(JAVA) (1) | 2021.02.05 |
[코드업] 기초 100제 1096번 바둑판에 흰 돌 놓기 자바(JAVA) (0) | 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 |
최근댓글