코딩테스트 연습을 시작하게 되었습니다.
프로그래머스의 레벨 0단계 부터 시작을 하였는데.....
아니??? 나 이정도로 빡대가리였던건가???....
무슨 문제인지 파악하는 데만 10분정도 쓴 것같아요.....
대략 문제의 내용은 이러하였습니다.
["data", "object", "array"] 라는 배열이 있는데
내가 함수에다가 ["datata", "dataobject", "arrayarr", "data"] 처럼 이상하게 집어넣어 볼테니까
너가 "data", "object", "array" 만 걸러서 옳은 문자가 몇개인지 개수를 좀 알려줘봐
아 근데, dataobject 와 같이 옮은 문자가 나열된것도 개수에 포함시켜야함 ㅇㅋ?
처음에는 아니 뭐...배열이랑 파라미터로 들어온 배열이랑 비교하도록 filter 사용하면 되는거 아님?? 하였지만....
datata 도 맞다고 하고 arrayarr 도 맞다고 해버림....
여기서 멘붕.....
결국 프로그래머스 의견 공유장에서 사람들 어떻게 푼지 보고 해결했습니다....
와..
배열.split(정규식) 으로 해결했더라구요....??!!!! (천재인가)
/data|object|array/g
파라미터로 받은 배열에서 "data", "object", "array" 얘네를 정규식으로 변환해서 split 에 넣으면
"data", "object", "array" 를 기점으로, 즉 얘네를 제외한 문자열들을 배열로 반환하잖아요?
["ta", "", "arr", ""] 즉, 이런형태가 되는것입니다.
그럼 여기서 값이 "" 인 애들이 잘 걸러진 애들이기 때문에 이 값들을 계산해주면 되는 거였습니다...
정규식 이런식으로도 사용할 수 있구나를 깨달았고
왜 코딩테스트 연습을 해야하는지도 깨달을 수 있었습니다.
레벨 -1 단계는 없나요..? 흑흑
코딩테스트 문제를 진짜 풀때까지 아무 해결법도 안보고 하는 것도 좋지만
이렇게 고민을 충분히 해보고 안되면 해결법 보고 공부해나가는 것도
좋은 것 같아요 ㅎㅎ
앞으로 꾸준히 해볼 생각입니다.