반응형

전체 글 307

[2024 네이버 부스트캠프]9기 웹*모바일 베이직과정 정보 및 2차 코딩테스트 후기

2주 동안 진행되는 베이직 과정을 마치고… 오늘 7월6일 ! 약 두시간 반동안 시험을 봤다 쓰고 싶은 말이 많은데,,노트북 오늘 고장나서 폰으로 쓰는 중이다 😡오타가 많을 것 같은데 인내해주시고,,, 😞나 또한 인내하길 바란다 …🥲## 1. 네이버 부캠 베이직 과정 정보 - 미션을 매일 해결한다.- 미션은 말해줄 수 없다. - 1주차는 쉽고, 2주차에 갑자기 중간에 당황하는 문제도 있다.  - 하지만 해당 언어를 잘 모른다면, 어려울 수 있겠다. - 1주차는 1000명 정도로 시작해 => 2주차는 600명 즈음으로 줄었다. - 모바일 보다 웹 인원수가 훨씬 많다. - 1차 코테보고 , 입과자 선정된 사람과 바로 2차 코테 볼 수 있는 자격을 받는 사람으로 나뉜다. - 나는 입과자 선정이 되어 베이직..

스택 자료구조(Stack) 간단 정리 - javascript

## 스택 ### 1. 스택이란? 자료구조의 한 형태로, 후입선출(LIFO:Last In, First Out) 방식으로 동작한다. 즉, 마지막에 삽입된 데이터가 가장 먼저 삭제되는 구조다. ### 2. 스택 동작 이해하기 기본적인 연산1) `push`  : 스택의 맨 위에 데이터를 삽입하는 연산. 2) `pop` : 스택의 맨 위에 있는 데이터를 삭제하고 반환하는 연산. 3) `peek` 또는 `top` : 스택의 맨 위에 있는 데이터를 삭제하지 않고, 반환하는 연산.4) `isEmpty` : 스택이 비어있는지를 확인하는 연산. 5) `size` : 스택에 있는 데이터의 개수를 반환하는 연산.  ### 3. 스택의 사용예시 1) 함수 호출 스택: 함수가 호출될 때마다 스택에 호출 정보가 저장되고, 함수가..

프로그래머스 : 블록 이동하기 - javascript (bfs)

## 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/60063 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ## 문제 풀이 힌트 출제 의도: BFS에 대해 알고 있고, 이를 응용해(단순 암기가 아니라) 코드를 작성할 수 있는지 파악  세팅 1) 이차원 그래프 새로 생성하기  - 좌표 자체가 1,1로 시작하고, n,n 을 구해야 하기 때문에 코드 편의성을 위해 n+2, n+2 그래프로 생성.   - 전체를 벽인 1로 세팅한 후, 주어진 board 값에 맞춰서 0인 값으로 다시 넣어준다. 2)..

백준: 나머지 합 구하기 - python (구간합)

문제 출처 https://www.acmicpc.net/submit/10986 문제 풀이 힌트 -N의 최댓값이 106이라 연산량이 작게 느껴질 수 있다.그러나 각 숫자에 대해서 모든 구간합을 또 구해야 하기 때문에 1초 안에 연산은 불가능하다 ~  구간 합 배열을 이용해보자 누적 합 계산: 리스트 A의 누적 합을 계산하여 새로운 리스트 S에 저장합니다.나머지 계산: 누적 합 배열 S의 각 요소를 m으로 나눈 나머지를 계산합니다.나머지 카운트: 나머지 값이 몇 번 나오는지 카운트하는 리스트 C를 만들어 각 나머지를 카운트합니다.나머지 0 처리: 나머지가 0인 경우는 바로 답에 포함시킵니다. (변경딘 합 배열의 원소 값이 0이라는 뜻은 원본 리스트의 0부터 i 구간까지의 구간 합ㅇ이 이미 m으로 나누어 떨어진..

프로그래머스: 등산코스 정하기 - javascript (다익스트라 알고리즘 )

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 힌트 코드 설명 요약그래프 초기화:주어진 경로를 통해 각 노드의 인접 리스트를 생성합니다.최소 힙과 강도 배열 초기화:MinHeap을 사용하여 각 게이트를 큐에 추가하고, 모든 지점에 대해 강도 값을 무한대로 설정합니다.다익스트라 알고리즘 변형:최소 힙을 사용하여 현재 노드에서 인접한 노드로의 경로 중 최대 강도가 가장 작은 경로를 탐색합니다.서밋에 도달하거나 이미 더 낮은 강..

새로고침 없이 찜 상태 즉시 반영하기 (react-query 활용)

## 내가 원하는 것.  사용자가 저 하트를 누르면 새로고침하지 않아도 즉시, 화면에 빨갛게 ~~ 또 다시 하트를 누르면 하얗게 ~~ 만드는 코드를 작성해보자.  ## react-query 활용하는 이유 useState나 redux-toolkit을 사용하여 상태를 관리할 경우, 그 상태는 클라이언트 측에서 로컬 또는 전역적으로 유지되며, 백엔드 DB 데이터와 직접적으로 연동되지 않는다.  즉,  찜 상태가 클라이언트 애플리케이션 내부에서만 유지되며, 백엔드 DB 데이터와는 분리된 상태라는 뜻 ~~ 로컬 상태(useState)는 개별 컴포넌트에 종속되며, 일시적이고 컴포넌트 단위로 유지. 전역 상태(redux-toolkit)는 클라이언트 애플리케이션 전체에서 공유되지만, 백엔드 데이터와의 동기화는 수동으로..

프로그래머스: 외벽 점검 - javascript(깔쌈한 구현 문제, 순열 활용)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 힌트 정말 깔~쌈한 문제라고 생각한다. 순열 구하는 함수를 안다면 바로 코드 작성하고, 구현을 잘 ~ 하면 된다.  시계방향이냐, 반시계 방향이냐? 를 고민하지 않게 만드는 건 - 일렬로 배열을 더 길게 늘려주는 것이다. => 뭐 예를 들어서 n이 12다? 그럼 0은 12라는 또 다른 숫자이기도 하다.- 1은 13이라는 숫자이기도 하다. - 2는 14라는 숫자이기도 하다. 즉, ..

js 순열과 조합 구하는 식 정리

문제를 풀 때 활용해야 할 경우가 많다. 그냥 암기하자. 순열: 순서를 고려해서 요소 선택 - 예를 들어, [1, 2, 3]의 순열은 [1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]와 같이 6가지 const getPermutation = (arr, n) => { if (n === 1) return arr.map(v => [v]); const result = []; arr.forEach((fixed, idx, origin) => { const rest = [...origin.slice(0, idx), ...origin.slice(idx + 1)]; const perms = get..

프로그래머스: 표현 가능한 이진트리 - javascript(이진트리, 포화이진트리)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 힌트 이 문제는 주어진 숫자를 이진수로 변환하고, 이를 포화 이진 트리 형태로 만들 수 있는지를 확인하는 문제다.  - 각 숫자를 이진수로 변환한 후, 필요한 더미 노드를 추가하여 포화 이진 트리 형태로 만든다. - 트리의 중간 노드를 기준으로 왼쪽과 오른쪽 서브트리를 재귀적으로 검사하여 유효한 트리 구조인지 확인한다. - 더미 노드가 실제 노드를 자식으로 가질 수 없기 때문에..

반응형