본문 바로가기
카테고리 없음

0712_TIL

by outwater 2021. 7. 13.

🎄오늘 한 일

✔️ 1.  카카오페이 인턴십, 네이버인턴십 서류 작성

  • 최근 코딩테스트 준비에 올인을 하고 있어, 지원서를 작성하다보니, 기술면접에 대한 부담이 생겼다. ㅎㅎ.. 
    개발자는 코딩테스트 + 기술면접(지식) + 실무능력 까지 겸비한 삼위일체의 모습을 만들어야한다. ㅎㅎ
    코딩테스트 부터 확실히 다져놓고, 기술면접 준비, 틈틈히 웹앱을 만드는 연습까지 해보며 취업을 준비하고자한다.

✔️ 2.  코딜리티 lesson1 - lesson5 다시풀기

  • 목요일 진행예정인 네이버인턴십 코딩테스트가 코딜리티 플랫폼에서 진행되기 때문에, 수요일까지는 코딜리티에서 풀었던 문제들을 점검하며 코딩테스트를 준비하고자 하였다.
  • 처음에 풀었을 때 어렵게 느꼈던 문제들은 다시 풀 때에도 단 번에 생각나지 않고, 어려움을 느꼈다. 두번 세번 복습하다 보면 완벽히 습득할 수 있을 것 같아 어려움을 느낀 문제는 체크하고 따로 분류를 진행하였다.

 

🎄기억할 것

Set 객체 활용
: 중복이 없는 리스트인 set 객체

  • const set = new Set( )  키워드를 통해 set객체를 생성할 수 있다.
  • set객체는 중복이 없는 것을 보장하기 때문에 이를 활용하여 코딩테스트문제에 적용해볼 수 있었다.
  • 기본적인 메소드는 배열과 다르기 때문에 주의하여야한다.
    set객체 길이: set.size
    set객체 요소추가: set.add(value)
    set객체 요소삭제 : set.delete(value)
    set객체 포함여부 리턴: set.has(value)

 

예시 (📎 코딜리티_FrogRiverOne )

문제이해

강의 길이가 X일 때, 1부터 X까지 나뭇잎이 모두 들어왔을 때의 시간(A의 idx)을 리턴하는 문제.

X = 5 이면 , A가 1, 2, 3, 4 ,5 를 모두 가질 때의 최소의 idx를 리턴하는 것

 

문제접근

 중복이 불가한 set에 A의 요소를 담는다.

 X보다 같거나 작은 값만을 set에 담고, set의 길이가 X가 되는 경우 A의 idx를 리턴

 

 문제풀이

1. set선언

2. for문으로 A순회

 2.1 A[i]가 X보다 작거나 같으면, set에 push

 2.2 set의 size가 X가 되면 A[i]리턴

function solution(X, A) {
  let set = new Set();

  for (let i = 0; i < A.length; i++) {
    if (A[i] <= X) {
      set.add(A[i]);
    }
    if (set.size === X) return i;
  }

  return -1;
}

 

댓글