| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 306 | 43 | 34 | 14.655% |
최근 자바스크립트를 공부한 효석이는 map, filter의 매력에 빠져버렸다. 그래서 map, filter 명령을 처리해주는 새로운 프로그램을 만들었다.
프로그램은 정수로 이루어진 길이 $N$인 배열 $A$를 가지고 시작한다. 프로그램은 한 줄에 명령의 종류, 연산자, 정수 $x$ 3개의 입력을 받아서 동작을 수행한다.
프로그램은 아래의 입력을 처리할 수 있다.
map 명령
map + $x$ : 배열의 모든 원소에 정수 $x$만큼 더해준다.map * $x$ : 배열의 모든 원소에 정수 $x$만큼 곱해준다.map % $x$ : 배열의 모든 원소를 $x$로 나눈 나머지로 바꿔준다.filter 명령
filter >= $x$ : 배열의 원소 중 $x$보다 크거나 같은 원소를 가진 새로운 배열을 반환한다.filter <= $x$ : 배열의 원소 중 $x$보다 작거나 같은 원소를 가진 새로운 배열을 반환한다.filter == $x$ : 배열의 원소 중 $x$와 같은 원소를 가진 새로운 배열을 반환한다.처음 배열 $A$와 명령들이 주어졌을 때 filter 명령의 수행 결과로 반환받은 새로운 배열의 길이를 출력하는 프로그램을 작성하시오.
첫째 줄에 배열의 길이 $N$이 주어진다. $( 1 \leq N \leq 100,000円 )$
둘째 줄에 프로그램이 가지고 시작하는 배열 $A$의 원소 $A_{i}$가 공백으로 구분되어 주어진다. $( 1 \leq A_{i} \leq 100,000円 )$
셋째 줄에 명령의 개수 $Q$가 주어진다. $( 1 \leq Q \leq 100,000円 )$
넷째 줄부터 $Q+3$번째 줄 까지 한 줄에 하나씩 명령이 주어진다. 하나의 명령은 명령의 종류, 연산자, 정수 $x$ 3개의 입력이 공백으로 구분되어 주어진다.
명령의 종류가 map인 경우 아래의 제한이 적용된다.
명령의 종류가 filter인 경우 아래의 제한이 적용된다.
명령을 처리하는 과정에서 0ドル \leq A_{i} \leq 2^{63} - 1$임이 보장된다.
filter 명령을 수행할 때마다 filter 명령으로 반환받은 배열의 원소의 개수를 출력한다.
5 5 3 4 1 2 7 map + 4 filter >= 7 map * 3 filter >= 22 filter <= 22 map % 5 filter >= 2
3 2 3 3
University > 한양대학교 ERICA 캠퍼스 > Zero One Algorithm Contest 2022 G번