티스토리 뷰
1244. 스위치 켜고 끄기
1244번: 스위치 켜고 끄기
첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩
www.acmicpc.net
import java.io.*;
import java.util.*;
public class Main_BJ_1244_스위치켜고끄기 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int SN = sc.nextInt();
int[] arr = new int[SN+1];
for(int i=1; i<SN+1; i++) {
arr[i] = sc.nextInt();
}
int N = sc.nextInt(); // 학생 수
for (int si=1; si<=N; si++) {
int g = sc.nextInt(); // 성별
int num = sc.nextInt(); // 스위치 번호
if (g == 1) {
// 남학생
for (int i=num; i<=(arr.length-1); i+=num) {
arr[i] = (arr[i]==1) ? 0 : 1;
}
} else if (g == 2) {
// 여학생
arr[num] = (arr[num]==1) ? 0 : 1;
for (int i=1; i<(arr.length-1); i++) {
int l = num - i;
int r = num + i;
if (l<1 || r > (arr.length-1) || arr[l]!=arr[r])
break;
else {
arr[l] = (arr[l]==1) ? 0 : 1;
arr[r] = (arr[r]==1) ? 0 : 1;
}
}
}
}
// 출력
for (int i=1; i<arr.length; i++) {
System.out.print(arr[i] + " ");
if (i%20 == 0) System.out.println();
}
sc.close();
} // main
}
import java.io.*;
import java.util.*;
// 210226
public class Main_BJ_1244_스위치켜고끄기 {
static int[] arr;
static void flip(int idx) {
if(arr[idx]==1) arr[idx]=0;
else arr[idx]=1;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 스위치 개수
arr = new int[N+1];
for(int i=0; i<N; i++) {
arr[i+1] = sc.nextInt();
}
int SN = sc.nextInt();
for(int i=0; i<SN; i++) {
int gender = sc.nextInt(); // 남 1 여 2
int num = sc.nextInt();
if(gender==1) {
for(int j=1; j<=N; j++) {
if(j%num==0) flip(j);
}
} else if(gender==2) {
flip(num);
for(int k=1; k<=N; k++) {
int l=num-k, r=num+k;
if(l>=1&&r<=N&&arr[l]==arr[r]) {
flip(l); flip(r);
} else {
break;
}
}
}
}
StringBuilder sb = new StringBuilder();
for(int i=1; i<arr.length; i++) {
sb.append(arr[i] + " ");
if(i%20==0) sb.append("\n");
}
System.out.println(sb.toString());
sc.close();
} // main
}
출력 형식이 자꾸 잘못되었대서 보니까 스위치가 20개가 넘어가면 개행을 넣어야 하더라
'코딩테스트 > 백준' 카테고리의 다른 글
[BJ] 8320. 직사각형을 만드는 방법 (0) | 2021.02.26 |
---|---|
[BJ] 17413. 단어 뒤집기2 (0) | 2021.02.26 |
[BJ] 10158. 개미 (0) | 2021.02.25 |
[BJ] 13300번: 방 배정 (0) | 2021.02.22 |
[BJ] 2108. 통계학 (0) | 2021.02.15 |
댓글