AP Computer Science A 2021 Free-Response Questions code example

Example 1: 2019 ap computer science free response answers

// Part A
public ArrayList<String> getDelimitersList(String[] tokens) {
	ArrayList<String> out = new ArrayList<>();
	for (String t: tokens) {
		if (t.equals(openDel) || t.equals(closeDel))
			out.add(t); 
	}
	return out; 
}

// Part B
public boolean isBalanced(ArrayList<String> delimiters) {
	int open = 0;
	int close = 0;
	for (String d: delimiters) {
		if (d.equals(openDel))
			open++;
		else if (d.equals(closeDel))
			close++;
		
		if (close > open)
			return false;
	}
	return open == close; 
}

Example 2: 2019 ap computer science free response answers

// Part A
public static int numberOfLeapYears(int year1, int year2) {
	int cnt = 0;
	for (int y=year1; y<=year2; y++) {
		if (isLeapYear(y))
			cnt++;
	}
	return cnt; 
}

// Part B
public static int dayOfWeek(int month, int day, int year) {
	int firstDay = firstDayOfYear(year);
	int doy = dayOfYear(month, day, year);
	return (firstDay + dayOfYear - 1) % 7;
}

Example 3: 2019 ap computer science free response answers

// Part A
public LightBoard(int numRows, int numCols) {
	lights = new boolean[numRows][numCols];
	for (int r=0; r<numRows; r++)
		for (int c=0; c<numCols; c++)
			lights[r][c] = Math.random() < 0.4; 
}

// Part B
public boolean evaluateLight(int row, int col) {
	int onInCol = 0;
	for (int r=0; r<lights.length; r++)
		if (lights[r][col])
			onInCol++;
	if (lights[row][col] && onInCol % 2 == 0)
		return false;
	else if (!lights[row][col] && onInCol % 3 == 0)
		return true;
	return lights[row][col];
}

Tags:

Misc Example