테스트 케이스만 통과한 코드이지만 기록한다.

난의도는 중간정도 되는것 같다.

int solution(string answer_sheet, vector<string> sheets) {
	int answer = -1;
	int que_num = answer_sheet.length();
	int student_num = sheets.size();
	int max_c_idx = -1;
	for (int i = 0; i < student_num; i++) {
		for (int j = 0; j < student_num; j++) {
			if (i == j) continue;
			//서로 다른학생일때 비교
			int s_cnt = 0; //의심문항
			int len = 0;
			bool be_que = false;
			int max_len = 0;
			int c_idx = 0;

			for (int k = 0; k < que_num; k++) {
				if (sheets[i][k] == sheets[j][k] and sheets[i][k] != answer_sheet[k]) {
					s_cnt++;
					len++;
					if (len > max_len) {
						max_len = len;
					}
				}
				else {
					len = 0;
				}
			}
			c_idx = s_cnt + (max_len*max_len);
			if (c_idx > max_c_idx) {
				max_c_idx = c_idx;
			}
		}
	}
	answer = max_c_idx;

	return answer;
}

+ Recent posts