그동안 소홀히 했던 코드테스트를 오늘 하나 풀고 잘까 생각하고 시작했습니다.
레벨1은 한문제밖에 안남았는데 도저히 생각이 안나서 레벨2문제를 도전했습니다.
문제는 위와같이 레벨 2의 프린터 문제였습니다. 어떻게 할까 고민하다가 저는 1,2,3의 순서를 따르기로 생각하고 배열을 조정하기로 결정했습니다. 그래서 가장큰 숫자의 위치를 받아오는 함수를 하나 만들고 그 숫자 뒤를 앞으로 오게하고 앞에있는 숫자를 뒤로 가게 하여 배열을 만들었습니다. 코드는 다음과같습니다.
그래서 p에는 제일 큰숫자는 빠지고 새로운 배열이 계속 만들어지고 프린트는 하나씩 된다는 설정으로 count++를 하여 프린트 횟수 체크를 하게 했습니다. 그리고 location은 배열이 변해도 위치는 항상 추적하도록 했습니다.
그결과!!
C언어의 습관이 있어서 그런지 계속 대학생때 습관을 못버리는거 같지만 다른건 배워보질 못해서 저거밖에 못쓰는거같네요..
이번 문제에서 제일 어려웠던점은 slice, concat, push가 생각안났고
두번째 문제는 처음에는 push를 썼었는데 배열이 그대로 들어가버려서 concat으로 합치는 방향으로 해결했습니다. 이외의 다른 문제는 해결하고 보니 answer을 사용하지 않는데 남겨두었네요...
이제부터 하나씩 해결하면 코드 올리도록 하겠습니다.