백준 1244 스위치 켜고 끄기 JAVA

sundays·2023년 5월 11일
0
post-thumbnail

문제

스위치 켜고 끄기

풀이

구현 문제 입니다. 1트에 맞춰서 기분이 좋네요. 뭔가 틀린 사람들이 많아서 좀 더 유심히 보니까 20개 씩 줄바꿈을 해야하는데 그래서 실버 문제 인데도 극단적으로 정답률이 낮은 것 같습니다.

  1. 남자의 경우
    배수 만큼 toggle되면 됩니다.
for (int i = number; i < n; i+= number) {
	if (arr[i] == 1) {
    	arr[i] = 0;
    } else {
    	arr[i] = 1;
    }
}
  1. 여자의 경우

저는 이 부분은 투 포인터로 구해 주었습니다. 이렇게 하면 범위를 구하기 쉽습니다.

int left = number - 1;
int right = number + 1;
while (left > 0 && right <= n) {
	if (arr[left] != arr[right]) {
    	break;
    }
    left--;
    right++;
}

// 범위만큼 토글됩니다.
for (int i = left + 1; i < right; i++) {
	if (arr[i] == 1) {
    	arr[i] = 0;
    } else {
    	arr[i] = 1;
    }
}

정답률이 너무 낮은 문제인지 몰랐다면 1트에는 틀렸을것 같습니다.

전체 코드

전체 코드

profile
develop life

0개의 댓글

관련 채용 정보