역시 그랬군
역시 희망연봉이 문제였다. 희망연봉이 문제다고 말하지 않는 회사도 실재로는 연봉이 문제였을듯 싶다.
여튼 느긋하게 기다려 보자. 외주도 다들 못 구현 하겠다고 던지는 것만 받고 있다. 가격으로 다른 사람들과 경쟁을 하는게 쉽지 않더라. 여튼 기다리는 자에게 복이 있나니.
코딩 테스트나 연습하자. 오늘은 면접을 보는데가 한곳이라 여유가 있다.
HackerRank - Online Coding Tests and Technical Interviews
HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Start hiring at the pace of innovation!
www.hackerrank.com
한문제만 마저 풀고 마무리 해야 겠다. 후반부 문제는 정답률이 다들 낮기 때문에 구지 풀어보지 않아도 될듯 싶다. 어차피 실재 코딩테스트에서는 누구나 풀수 있는 문제가 나온다. 어렵고 시간이 많이 걸리는 문제는 현실적으로 못낸다.
추가 삭제 인쇄는 평소에 정말 많이 쓰는 기능이다. 다만 이번 문제는 이거를 물어보는거는 기본이고 특이 사항으로 추가 혹은 삭제를 실행취소를 하는 기능을 구현해야 한다. 개인적으로 이게 이 문제가 퀄리티가 높다고 생각이 든 이유다. 다른 여러 문제를 많이 풀어보는 것보다 이 문제를 제대로 해보는게 코딩 테스트 실력을 올리는데 크게 기여를 할듯 싶다.
이 문제만 제대로 풀고 코딩 테스트 준비는 마무리 해야 겠다. 그 이후부터는 실전 경험을 계속 쌓는 걸로 갈음한다.
실행 취소가 메카니즘을 조금 설명하면 가장 마지막에 했던거를 실행 취소하는데 두번째 실행취의 경우는 이미 실행 취소를 한거가 있으면 그거는 건너뛰고 바로 앞에 것을 실행 취소 한다. 실행 취소 하고 또 작업이 진행이 되고 실행취소 하는 경우에는 그냥 마지막을 실행 취소 하는 거다.
때문에 실행 취소를 한거를 기억을 해두는게 필요할듯 싶다. 별도에 리스트를 만들면 될듯 싶다.
이 부분이 조금 어려울듯 싶다.
명령은 string 배열로 넣는다. 이부분도 섭스트링이나 스플릿 조인 같은 코딩테스트에서 많이 쓰는 함수들에 대한 이해가 필요하다. 이문제 정도만 풀줄 알면 왠만한 코딩 테스트는 다 풀수 있을듯 싶다. 문제에 완성도가 높다.
하나 하나 결과를 뽑아 보자.
subStrting이라는 함수를 쓴다.
char와 string이 달라서 그거에 대한 고려가 필요했다.
어펜드와 딜리트의 결과를 따로 기록을 해둘 필요가 있다.
아 근데 코딩 테스트도 나름 재미있는거 같다. 물론 이 문제 자체가 재미가 있는 주제이긴 하다.
잠깐 졸린데 낮잠 좀 자고 해야 겠다.
자고 읽어나 보니까 저장을 리스트가 아니라 스택을 쓰는게 더 좋을듯 싶다. 이 문제 자체가 스택을 쓰는걸 염두해 두고 만든거 같다. 스택 큐가 할수 있는 일은 리스트도 할수 있어서 구지 성능이 중요하지 않으면 쓸일이 잘 없다. 서버쪽에서 주로 쓴다고 들었다.
여튼 스택 처음 써보는거 같다.
언두까지 같이 만들어 주자. pop을 하면 꺼내서 중복될일이 없는덜로 알고 있다.
코딩 테스트에서 자주 사용하는 함수가 컨버트 함수이다. 인덱스는 0부터 시작하기때문에 1을 빼줘야 한다.
이렇게 하면 되는데 결과값이 예제랑 좀 다른거 같다. 머가 문제일려나.
g가 중간에 빠졌다.
아 근데 생각보다 이 문제 자체가 꽤 완성도가 높다. 다양한 자료구조를 쓰는 것을 전제로 만든 느낌이다.
별 문제 아니였다. 여기 오타가 있었다.
인덱스 에러가 나는데 머가 문제일려나. 면접 시간이 2시간 전이라 일단 잠깐 면접 준비좀 해놓고 풀어야 겠다.
아 언두 하고 언두한 결과도 리멤버리스트에 넣어야 한다.
문제를 잘못 이해 한거 같다. 되돌리기에 이전이 아닌거 같다.
앗 회사에 문제가 생겨서 일정이 미루어 졌다. 내일은 면접을 3개를 보게 생겼다. 다행이 다 비대면이다. 여튼 문제를 마져 풀도록 하자.
코딩테스트가 3문항이던데 3문항 다 풀지 않고 한문항만 풀고 코드 정리나 해야 할까 모르것다. 내가 일반적인 사람보다 코드 짜는 줄수는 훨씬 적은데 푸는 시간은 오히려 1.5배 정도 더 걸린다고 하더라. 그래서 코드 줄당 시간으로 환산하면 어마무시하게 긴편이다. 같은 코딩 테스트 기준으로 다른 지원자랑 그렇다.
그렇다면 실재로는 2문제를 풀고 끝날 가능성이 높다. 이거를 시간을 줄이려면 양치기 하면서 많을 문제를 풀어보는 수밖에 없다. 시간내 빠르게 작업하는 방법은 그냥 많이 해보는 거 말고 답이 없더라.
딜리트가 작동을 안했구나.
문제를 잘못 읽었다. 뒤에서 n개를 빼는 거였다.
생각을 뒤집어 보자. 뒤에서 n개를 빼지 않고 새 리스트에 앞에서 count - n개를 채워 넣으면 된다.
예상했던 대로 작동한다.
두번 되돌리기를 해야 한다.
이렇게 하면 된다. 원하는 대로 작동한다.
서브밋에서 문제 없이 돌아가도록 코드를 수정을 할 필요가 있다.
아 이게 방식이 다르구나. 그럼 꽤 많이 수정을 해야 할듯 싶긴 하다. 여기까지만 하자. 일단.
아 근데 여기 harker rank로 시험 보는 곳은 왠지 떨어질꺼 같다. 거의 서브밋에서 걸려서 못푼거 같다.
일단은 그냥 빠르게 셤 제출하는 걸로 하자. 시험은 운에 좀 맡겨야 할듯 싶다. 사실 여기 문제에 반 정도를 문제가 먼 의도인지를 이해를 못했다. 쉽지 않을꺼 같다.