반응형

전체 글 182

프로그래머스 : 블록 이동하기 - 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 문제 풀이 힌트 이 문제는 주어진 숫자를 이진수로 변환하고, 이를 포화 이진 트리 형태로 만들 수 있는지를 확인하는 문제다.  - 각 숫자를 이진수로 변환한 후, 필요한 더미 노드를 추가하여 포화 이진 트리 형태로 만든다. - 트리의 중간 노드를 기준으로 왼쪽과 오른쪽 서브트리를 재귀적으로 검사하여 유효한 트리 구조인지 확인한다. - 더미 노드가 실제 노드를 자식으로 가질 수 없기 때문에..

[네이버 부스트캠프] 웹·모바일 9기 1차 코테 후기

9기 모집 정보는 코테 후기 이후에 작성하려고 한다. (아래 있다는 뜻) 왜냐하면 방금 막 코테 끝났다. 이 기억 조각이 사라지기 전에  얼른 작성해야겠다^  01.  오 일단, 구름 테스트 환경이라는거 참 쉽지 않았다. 처음엔 좀 당황했으나 이내 땀 흘리며 적응했다...  1) 복붙이 안됐다.나도 몰랐는데, 나 참 복붙 많이 쓰더라,,, 코드 수정할 때나,,, 뭐 데이터 구조 작성할 때나,, 복붙이 안된다는거 좀 눙물이 나오는 상황이다. 그런데 이게 회사 코테랑은 다르게 실시간으로 감시? 하지는 않아서 그런지 복붙이 안된다.  2)  괄호가 잘된건지 잘못된건지 테스트를 돌렸을 때만 알 수 있다. - 프로그래머스는 해당 여는 괄호가 어떤 닫는 괄호랑 짝 짓는지 알 수 있는데, 구름은 아니다... - 정해..

회사 지원 2024.06.15

백준 11660 : 구간 합 구하기 - python

문제N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다.예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자.1234234534564567여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다.표에 채워져 있는 수와 합을 구하는 연산이 주어졌을 때, 이를 처리하는 프로그램을 작성하시오.입력첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 ..

반응형