[백준] 1244번 스위치 켜고 끄기 (java)
728x90
반응형
여자의 경우 현재의 위치를 left, right 변수를 둬서 각각 왼쪽, 오른쪽으로 이동하며 비교해나간다.
import java.util.Scanner;
public class Main {
static int n,m;
static int[] light=new int[n];
static int[][] student=new int[m][2];
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
light=new int[n];
for (int i = 0; i < n; i++) {
light[i]=sc.nextInt();
}
m=sc.nextInt();
student=new int[m][2];
for (int i = 0; i < m; i++) {
student[i][0]=sc.nextInt();
student[i][1]=sc.nextInt();
}
for (int i = 0; i <m; i++) {
if(student[i][0]==1) {
boy(student[i][1]);
}else {
girl(student[i][1]);
}
}
for (int i = 0; i < n; i++) {
System.out.print(light[i]+" ");
if((i+1)%20==0)System.out.println();
}
}
public static void girl(int num) {
int left=num-1;
int right=num-1;
while(left>=0 && right<n && light[left]==light[right]) {
light[left]=1-light[left];
if(left!=right)
light[right]=1-light[right];
left-=1;
right+=1;
}
}
public static void boy(int num) {
for (int i = 0; i < light.length; i++) {
if((i+1)%num==0) {
light[i]=1-light[i];
}
}
}
}
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 2564번 경비원 (java) (0) | 2021.02.05 |
---|---|
[백준] 2493번 탑(java) (0) | 2021.02.04 |
[백준 1157번] 단어 공부 (python) (0) | 2020.12.24 |
[백준 9251번] LCS (파이썬, 최장 공통 부분 수열, DP) (0) | 2020.12.21 |
[백준 1059번] 좋은 구간 (실버 5) (0) | 2020.12.21 |
TAGS.