본문 바로가기

전체 글93

백준에서 JS로 문제 풀이하기 + 이런저런 메모(+추가: 2023.11.22) 앞서 올린 백트래킹 게시물에서 언급했듯, 얼마 전부터 시간이 날 때 조금씩조금씩 알고리즘 문제 풀이를 하고 있다. 주로 백준에서 문제를 풀고 있는데, 백준에서 문제를 풀 때 어떻게 풀고 있는지 + 문제 풀 때 개인적으로 알아두면 좋을 것 같은 점을 간단하게 기록해두려 한다. 백준에서 JS로 문제를 풀기 위한 세팅 예전에 백준에서 문제를 풀 때는 C++를 사용했는데, 이제는 거의 잊어버리기도 했고 업무를 JS로 하다 보니 JS로 문제를 풀어야겠다는 생각으로 아무 생각 없이 언어 설정을 살펴보았다. 하지만 자바스크립트는 목록에 보이지 않았고... node.js만 덩그러니 있어서 뭔가 싶던 도중 검색을 통해 JS는 node.js를 선택해야 함 + 입력값을 직접 처리해야 함 이라는 정보를 얻게 되었다. JS로의.. 2023. 10. 23.
백트래킹 근래에 꾸준한 공부 습관을 다시금 들이고자 틈틈이 알고리즘 문제를 풀고 있다. 그러던 와중, '백트래킹'에 대해 조금 공부하게 되어 개념과 푼 문제를 간단하게 정리해보려 한다. 백트래킹(Backtracking) 현재 상황에서 탐색 가능한 모든 경로를 다 탐색하다, 조건에 맞지 않는 경로를 탐색하게 될 경우 다시 뒤로 돌아가서 다른 경로를 탐색하는 알고리즘. 이 때 해결하려는 문제는 트리 구조로 표현되며, 이를 탐색하는 데에는 깊이 우선 탐색을 사용한다. DFS와는 달리 조건(한정 조건이라고 하는 듯)에 맞지 않는 해가 나오면 이전으로 돌아가기 때문에 최종적으로 탐색 시간이 줄어든다는 특징이 있음. 백트래킹을 접하며 참고했던 어느 블로그에서 DFS와 백트래킹을 유사점(교차점)이 있는 교집합 관계같다 표현한.. 2023. 10. 15.
정처기 실기 시험 후기 작년 여름 정처기 필기 시험을 치고 그 후기를 공유한 적이 있었다. 이 당시 바로 실기를 칠지 말지 고민하고 있었는데, 결국은 실기를 좀 미루는 것을 택했고 그 결과로 올해 4월 말에 실기 시험을 치고 왔다. 6월 9일에 결과가 나왔는데 다행히 합격이라 후기나 남겨볼까 한다. 실기 시험을 접수했을 때, 시험범위가 겹친다곤 하나 필기를 친지 어언 1년이 되어가고 있었기 때문에 사실상 공부를 새로운 기분으로 해야 했으며, 시험을 준비할 수 있는 기간이 3주 조금 넘었기에 여유가 많지도 않았었다. 그나마 다행인 것은 전공자 버프로 코딩이나 SQL 문제 등은 비교적 덜 보고 넘어갈 수 있었기에, 공부하는 동안에는 방대한 범위의 개념들을 외우는 데 집중했다. 시험 공부는 필기와 크게 다르지 않았으나, 아무래도 전.. 2023. 6. 15.
Notifee 정리 React Native에서 로컬 알림을 보낼 수 있게 해주는 패키지는 대표적으로 react-native-notifications, react-native-push-notifications, notifee 등이 있다. 이중 널리 쓰이는 것으로는 react-native-push-notifications 이 있는데, 깃허브를 살펴보니 현재 패키지가 활발히 관리되고 있는 상태가 아니기 때문에 다른 패키지 사용을 고려해보라는 내용이 적혀있었다. 대체안으로써 추천된 것 중 하나가 Notifee인데, 과거엔 유료였으나 얼마 전부터 완전 무료로 풀린 것으로 보인다. 해서 기본적인 사용법을 기록해둔다. 설치 npm install --save @notifee/react-native yarn add @notifee/reac.. 2023. 5. 20.
Typescript 정리 - 2 노마드 코더의 TypeScript로 블록체인 만들기 강의에 나오는 TS 강의를 듣고 정리한 내용 백업. 범위는 FUNCTIONS ~ CLASSES AND INTERFACES. Call Signatures (or Function Signatures) : 함수의 패러미터 타입 & return 타입을 type으로 선언하는 것. type Foo = (a: number, b: number) => number; const foo:Foo = (a, b) => { // return number... }; → foo 함수의 패러미터의 타입을 지정해주지 않아도 Foo 타입을 통해 TS가 패러미터의 타입을 알 수 있음. → 함수 타입 선언과 구현을 분리할 수 있음. Overloading 함수가 여러 개의 서로 다른 Call.. 2023. 1. 16.
Typescript 정리 - 1 노마드 코더의 TypeScript로 블록체인 만들기 강의에 나오는 TS 강의를 듣고 정리한 내용 백업. 범위는 처음 ~ OVERVIEW OF TYPESCRIPT(Types of TS part Three)까지. TypeScript? MS에서 만든 JS 기반 언어. 기존의 JS와는 달리 Strongly Typed 언어. 즉 JS에 타입을 추가했다고 볼 수 있음 (이 정도가 내 의식이였는데, 이거 이상의 의미를 지님). ※ TS Playground TS 코드를 작성해볼 수 있음. 작성한 TS 코드가 JS코드로 어떻게 변환되는지 보여줌. TS를 사용하는 이유 → Type Safety(타입 안정성) 기존의 JS는 타입에 유연한 언어. 논리와 이치에 맞지 않는 코드가 있더라도 이를 그대로 실행하기 때문에 예상치 못.. 2023. 1. 10.