문제의 이해
문제를 이해하기
자기만의 방식대로 문제를 이해했는가?
문제가 어떤 입력값을 담고 있는가?
어떤 출력값이 나와야 하는가?
입력값이 출력값을 결정할 수 있을까 ? 문제를 해결하기 위한 충분한 정보가 제공되었는지 고민해봐야 한다.
문제의 일부인 데이터의 중요한 부분에 어떻게 라벨을 지정할 수 있을까?
구체적 예시 알아보기
다양한 예시들을 알고 있음에 따라, 문제를 잘 이해하는데 도움이 된다.
간단한 예시로 시작하기
경계조건을 살펴보기
빈 입력값이 있는 예제를 살펴보는 것은 유효하지 않은 입력값이 주어진 면접 상황에서 문제를 어떻게 해결해야 할지 해결 능력을 갖출 수 있도록 해줌.
세부 분석
문제를 세분화 하기 면접관들은 수행하는 작업이 무엇인지 소통하기를 원함.
주석을 사용하여 구체적으로 세부적으로 수행작업을 알 수 있도록 한다.
주석을 달 경우, 시간이 부족해서 중간까지만 구현했다 하더라도 작업에 대한 틀은 잡을 수 있는 것
해결 또는 단순화
다른 모든 것에 집중하기 위해 시간이 많이 소요되는 부분은 무시하자
해결을 하다가 면접관에게, 추가적으로 조치해야 할 사항이 있는지 물어볼 수도 있다.
리팩토링
결과를 확인할 수 있나요?
결과를 다른 방식으로 도출할 수 있나요?
해결한 방식외에 다른 방법을 적용할 수 있나요?
해결책이 얼마나 직관적인가요?
한눈에 보고 이해할 수 있나요?
코드 편집기의 내용을 종이나 화이트보드에서 보더라도 이해할 수 있을까요?
결과나 방법을 다른 문제에도 적용할 수 있을까요?
더 나은 성능을 이끌어 내기위해서는 시간 복잡도와 공간복잡도를 분석한다.
charCodeAt
이regexp
보다 55%더 빠르다.
함수를 구분하여 가독성을 높이자.
Last updated