ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JS 알고리즘&자료구조] 구체적 예제들
    JavaScript/Basic 2023. 10. 30. 23:50

    앞서 학습했던 질문 5개를 다시 한번 살펴보도록 하자.

    1. 문제를 나만의 방식 혹은 나만의 언어로 제대로 이해했는가? (남에게 설명할 수 있을 정도로 이해해야 한다고 생각함)
    2. 문제가 어떤 입력값을 가지고 있는가?
    3. 문제에서 어떤 출력값이 나와야 하는가?
    4. 입력값이 출력값을 결정할 수 있는가?
    5. 문제에 등장하는 중요한 데이터를 뭐라고 명명할 것인가? 뭐라고 부를 것인가?

    면접관이 질문을 던졌고 우리는 위의 질문들을 통해 질문을 열심히 이해한 상황이라고 가정해보자. 그 후에는 문제에 대한 여러 구체적인 예시들을 떠올려 보는 것이다. 예재를 통해 우리는 문제를 좀 더 잘 이해할 수 있고 나중에 문제에 대한 해결법을 적용시켜 해결법이 제대로 작동하는지 검사도 해볼 수 있다. 입력값과 출력값이 알맞게 나와야하기 때문이다. 유저 스토리나 유닛 테스트가 이에 해당한다. (유저 스토리 : 사용자의 입장에서 요구사항을 이야기하는 것)

    이제 구체적인 예시를 몇가지 방법들을 살펴보자.

    1. 간단한 예시로 시작한다. 
      입력값과 출력값이 제대로 출력됐을 때의 예시를 2-3개 정도 작성해본다.
    2. 그보다 더 복잡한 예시들을 만들어본다.
    3. 빈 입력값이 들어오는 상황에 대한 예시를 만들어본다.
    4. 유효하지 않은 입력값이 들어오는 상황에 대한 예시를 만들어본다.

    아래 문제에 구체적인 예시를 떠올리는 방법을 적용시켜보자.

    문자열을 입력받으면 각 문자의 수를 반환하는 함수를 작성하라


    1. 간단한 예시로 시작한다.

    charCount("abcd"); // { a:1, b:1, c:1, d:1 }
    charCount("hello"); // { h:1, e:1, l:2, o:1 }

    2. 복잡한 예시들을 만들어본다.

    charCount("My phone number is 12341234"); // 대소문자는 어쩌고 공백은 어쩌고 숫자는 어쩌지..?

    3. 빈 입력값이 들어오는 상황에 대한 예시를 만들어본다.

    charCount(); // 빈 객체, null, undefined, 에러, false 중 어떤 걸 반환해야하지?

    4. 유효하지 않은 입력값이 들어오는 상황에 대한 예시를 만들어본다.

    charCount({}); // 객체가 들어오면?
    charCount([]); // 배열이 들어오면?
    charCount(null); // null이 들어오면?
    charCount(undefined); // undefined가 들어오면?
    charCount(false); // boolean이 들어오면?

    댓글

Designed by Tistory.