자바스크립트 테스트
어떤 언어든지간에 접하면 해보는 것이 있다. 개인적으로 프루츠 테스트라고 부르고 있는데 생성자로 객체를 만들고 리스트에 넣어보고 빼고 찾는 작업이다. 이걸 하는 이유는 가장 많이 하는 작업이기 때문이다.
오늘은 그거 하고 내일 부터는 코딩테스트 과제를 제출하도록 해야 겠다.
예상했던대로 나온다.
이렇게 하면 Remove 함수를 쓴거처럼 된다.
문득 드는 생각이 C#도 같은 방식이 가능할꺼 같기도 하다.
안된다. 더하고 빼려면 변환을 해야 한다. 자바스크립트에 어래이는 사실상 C#에 리스트랑 동일하다.
C#도 요세는 이런식으로 함수형으로 쓰고 있다보니까 자바 스크립트와 별 차이가 없어 보인다.
C++에서 이거 하는 방식을 못찾다 보니까 C++로는 못 넘어가고 있다. 이게 안되면 꽤나 불편하다.
이방식을 쓰는게 성능면에서 더 좋을듯 싶다.
늘 새로운 연구가 필요하다. 이게 파인드는 있는데 리무브가 왜 없는지 이제 조금 알꺼같다. 묵은 고민 해결이다.
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
여기로 코딩 테스트 진행한다고 미리 연습문제 풀어보라고 하더라. 앞으로 취업은 코딩테스트로 하게 될꺼 같으니 주말마다 풀어야 하지 않을까 싶긴 하다.
오늘 한문제정도 풀어보고 내일 시험을 보고 제출하면 될듯 싶다.
...
...
...
문제가 먼소리 인지 모르겠다. 큰일났다. 문제가 영어라 문제를 이해하는데 시간을 많이 써야 할듯 싶다. 한글로 번역을 해도 바로 의미가 안오기 때문이다.
리스트 안에 양수 음수 0의 비율을 구하는 문제였다.
float가 아니라 int가 나와서 문제를 제대로 못풀었었다. 대충 알꺼 같다. 문제를 많이 풀다보면 자연스럽게 늘듯 싶다.
두번째 문제는 5개의 양의 정수중 4개를 더해 최대값과 최소값을 찾는거다. 최대합에서는 최소값을 제하고 최소합에서는 최대값을 제하면 될듯 싶다.
난이도가 이정도만 나와도 해볼만 한듯 싶다.
응? 왜 틀렸다고 나오는지 모르겠다. 이게 논리적으로 맞는데 64 어쩌고 저쩌고 안되는듯 싶다.
넘어가자.
그 다음이 오전 오후를 24시간 체계로 바꾸는 거다. 스트링으로 온걸 섭스트링 해서 인트로 바꾸고 다시 스트링으로 바꾸는 건데 이거는 전번에 코딩 테스트를 했던거가 떠오르는 문제이다. C#에서 스트링을 분해하는 함수를 몰라서 떨어졌었다.
여튼 스플릿과 섭스트링 함수를 알고 있어야 코딩테스트를 통과할수가 있다.
스플릿이 ":"이런식으로 어떤거를 기준으로 쪼개는 거고 섭스트링이 여기서 부터 저기까지 잘라내는 거다.
이렇게 익숙한 툴로 옮겨와서 작업을 진행하면 될듯 싶다.
핫 절반만 풀렸다. 먼가 실수가 있는듯 싶다.
int라서 0이 빠졌다.
이거는 정말 코딩테스트를 많이 쳐봐야 가능한듯 싶다.
아 그리고 '변수 = 조건 ? 해당 : 안해당' 이문법도 외워 둬야 할듯 싶다. 매번 확인할수는 없는 법이다.
12시 일때가 오류가 난다.
여기선 잘 되는데 버그가 있나 안된다. 머 어쩔수 없는듯 싶다. 이것 때문에 테스트에 떨어진다면 어쩔수 없다.
95%가 풀었다는데 못푼쪽에 속하게 된듯 싶다.
그 다음은 유니크한 요소를 찾는 거다.
이렇게 하면 될듯 싶다.
안되는데 이유를 모르겠다. 풀기는 다 풀었는데 제출때 오류가 난다.
내일 마저 풀어보고 시험 본다음에 마무리 해야 겠다. 여기 코딩 테스트는 나랑 잘 안맞다. 어래이를 리스트로 변환해서 그럴지도 모르겠다.
아 잠이 안온다. 낮잠을 너무 자서 그런지도 모르겠다. 그냥 밤세서 끝까지 다 풀어버리고 시험은 2주 내로 가능하니까 다음주 중에 시간이 날때 봐야 겠다.
다음 문제는 3x3행렬을 사전순으로 정렬하는 것이다. 행과 열 모두 정렬이 되어야 한다. 여기서 부터는 문제가 조금 어려운거 같다. 일단 한국어도 아니고 알파벳 순서로 하면 햇갈리니까 각 알파벳을 숫자로 환원을 해야 하나 싶긴 하다.
일단 string을 리스트로 변환해야 한다. 이게 코딩테스트의 경우에는 이런 작업이 많은듯 싶다. 이게 실전에서는 딱히 쓰는 것은 아닌데 코딩테스트에서는 모르면 진행이 안되는 스킬들이다.
한번 제대로 코딩테스트 전용으로 코딩하는 법만 익혀두면 앞으로 취업 걱정을 던다. 분야를 막론하고 어디든 취업할수가 있다.
이 가로행을 오름차순으로 정렬하고 세로열이 오름차순이면 트루 오름차순이 아니면 펄스를 반환을 하면 된다.
char가 문자고 string 실재로는 문자열이라고 한다. 먼가좀 깊숙하게 공부하는 느낌이다. 정렬하는 것도 시험 문제로 나오던데 꽤나 컴퓨터 공학적인 내용이 많이 나온다.