[백준] 1244. 스위치 켜고 끄기(실버4)
백준(실버4) - 10867. 중복 빼고 정렬하기(실버5)
풀이
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt()+1;
int[] switches = new int[n];
for(int i=1; i<n; i++) {//0번쨰는 없다고 생각하기.
switches[i] = sc.nextInt();
}
int sNum = sc.nextInt();//학생수
for(int i=0; i<sNum; i++) {//학생 성별과 받은 수 넣기
int s = sc.nextInt(); //성별
int number = sc.nextInt();//받은 수
if(s == 1) {//남자라면, 배수
for(int j=number; j< n; j+=number) {
switches[j] = switches[j] == 0? 1:0;
}
}else if(s==2) {//여자라면,받은 수의 대칭들 상태를 바꿔준다.
int left = number-1;
int right = number+1;
while(true) {
if(left<1 || right>=n) break;
if(switches[left]!=switches[right]) break;
left--;
right++;
}
left++;
right--;
for(int k=left; k<=right; k++) {
switches[k] = switches[k] == 0? 1:0;
}
}
}
for(int i=1; i<n; i++) {
System.out.print(switches[i]+" ");
if(i%20 ==0) System.out.println();
}
}
}
Author And Source
이 문제에 관하여([백준] 1244. 스위치 켜고 끄기(실버4)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@humblechoi/백준-1244.-스위치-켜고-끄기실버4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)