알고리즘 모의고사 후기

김상선·2022년 5월 18일
0

5월 17일 수요일. 프로그래머스 Lv1 문제를 응용한 항해99 알고리즘 모의고사를 봤다.
시간은 총 2시간이 주어졌고 주어진, 2문제중 1문제를 골라 답안코드와 문제풀이영상을 Youtube에 업로드해서 제출하는 시험이었다.

코드를 짜고 알맞은 출력값을 확인한 것은 2~30분정도 걸렸고, 풀이 과정을 설명하기 위해 대본을 쓰는데 10분정도 걸린 것 같다.
근데 동영상 녹화를 하면서 내 목소리가 너무 대본을 읽는 것 같았고, 말을 버벅거려서 10번정도 다시 녹화하고 제출했다. 그래서 시험시간을 10분 남기고 제출 완료했다.

1번 문제 몇시간 했더라

핀마이크를 썼는데 말도 버벅이고 얼굴을 움직일 때마다 녹음 볼륨이 달라져서 다시 녹음하기를 10번정도 반복한 것 같다.

시험이 끝나고 같은 팀원들과 답안을 공유했는데, 내가 짠 코드가 너무 촌스럽고 날 것의 느낌이 나서 실망했다. IF문으로 모든 문제를 풀 수 있어야 한다는 기술매니저님의 조언을 들었는데, 완성한 코드를 더 효율적으로 보완할 수 있는 방법을 고민하지 않고 제출해서 아쉽다. 코드를 다시 읽어보면서 계산이 중복되는 부분은 최대한 줄였어야 했다.

내가 작성한 코드

function solution(arr1, arr2){
	let answer=0;
for(let i=0; i<7;i++) { 
  if (arr2[i] <  29) 
  {answer = answer + arr2[i] - arr1[i]}
  else
  {answer = answer + 21 - arr1[i]}
}
  return answer;
}

팀원들이 작성한 코드

function solution(arr1, arr2){
	let answer=0;
for(let i=0; i<arr2.length;i++) { 	// i는 0부터 arr의 
  if (arr2[i] >=  29) 				// 새벽5시(29시)를 넘기면
  {arr2[i] = 21} 					// 21시로 간주함
answer += arr2[i]-arr1[i] 			// 체크아웃-체크인 시간을 i만큼 반복 저장
}
  return answer;
}

내가 다시 작성한 코드

function solution(arr1, arr2){
	let answer=0;
for(let i=0; i<arr2.length;i++) { 	// i는 0부터 arr의 
  if (arr2[i] >=  29) 				// 새벽5시(29시)를 넘기면
  {arr2[i] = 21} 					// 21시로 간주함
return answer += arr2[i]-arr1[i] 	// answer = 체크아웃-체크인 시간을 i만큼 반복 저장
}}
  
profile
일요일을 좋아합니다.

0개의 댓글