알고리즘

Algorithm/BOJ

[알고리즘/BOJ/9205] 맥주 마시면서 걸어가기(Node.js) - 런타임 에러가 난다면?

문제https://www.acmicpc.net/problem/9205 풀이최대 20병이 들어가는 맥주 한 박스를 들고 출발하여 50m마다 맥주를 한 병씩 마시면서 가야 할 때, 상근이네 집에서 페스티벌에 갈 수 있으면 "happy"를, 그렇지 않으면 "sad"를 출력한다.편의점 개수 + 3(편의점 개수, 상근이 집 좌표, 페스티벌 좌표 입력) 씩 인덱스를 증가시키면서 테스트 케이스를 입력받는다.한 박스에 20병을 넣을 수 있고, 50m마다 맥주 한 병을 마셔야 하기 때문에 최대 이동할 수 있는 거리는 20x50=1000m이다. 따라서 서 맥주를 채울 수 있는 편의점까지 이동할 때, 또는 도착지인 페스티벌 좌표까지 이동할 때 거리가 1000m가 넘어가면 갈 수 없다.편의점을 무조건 순서대로 방문하는 것이 ..

Algorithm/BOJ

[알고리즘/백준/16946] 벽 부수고 이동하기 4 (node.js) - 매번 나머지 연산 시 실패한다면?

문제https://www.acmicpc.net/problem/16946 풀이모든 1에서 BFS를 돌면 (NM)^2으로 시간초과벽 주변의 0 묶음의 개수를 더하면 이동할 수 있는 영역이다.따라서 이동 가능한 영역인 0 묶음의 개수를 세어 주변 벽인 1에 더해준다.모듈러 연산의 분배법칙을 생각하고 매번 나눠주는 경우, board 원본 배열의 벽을 증가시키다 10의 배수가 되는 경우 0이 되어 벽으로 인식하지 못하는 문제가 생기므로 유의해야 한다. 시간복잡도: O(NM)class Queue { constructor() { this.data = []; this.head = 0; this.tail = 0; } push(item) { this.data[this.tail++] = item;..

Others/Reviews

IT 대기업 알고리즘 유형별로 풀 수 있는 단계별 알고리즘 학습 플랫폼 코드 트리 사용 후기

코드 트리는 진단 평가를 기반으로 단계별 학습 가이드를 따라 알고리즘 실력을 증진시킬 수 있는 플랫폼입니다. 이 단계별 가이드 덕분에 처음 알고리즘을 접하거나 평소 해설을 읽어도 이해에 어려움이 있는 경우 큰 도움이 될 수 있습니다. 뿐만 아니라, 제목에서 언급했던 대로 네이버, 카카오, SK 등의 대기업 코테 문항이 유형별로 준비되어 있어 차근차근 따라가면서 유형을 익힐 수 있습니다. 코드 트리를 두 달간 사용해 본 후기를 공유하고자 합니다. 좋았던 점 확실히 실력이 쌓여가는 것을 체감할 수 있다. 이번 한 달간은 구현 능력을 기르기 위해 구현 파트에 집중해서 풀었습니다. 코드 트리 이전에는 백준에서 구현 실버~ 정도를 풀 때도 헤매고 있었다면, 이제 골드 이상을 풀 때 어느 정도 방향에 대한 감이 잡..

Others/Reviews

피할 수 없다면 코드트리와 즐기자, 알고리즘!

현재 참여하고 있는 글또에서 코드트리와 협업하게 되어 8주간 체험할 수 있는 정말 좋은 기회를 가지게 되었습니다. 한 달간 매일은 아니지만 꾸준히 1~3문제 정도를 풀면서 느꼈던 점들을 작성해 보겠습니다. 코드트리 전의 알고리즘 공부이전에는 주로 백준의 추천 문제집 또는 프로그래머스의 고난도 문제집을 풀었습니다. 이 과정에서 분명히 느는 부분이 있었지만, 문제가 풀리지 않거나 해설을 봐도 이해가 되지 않으면 막막할 때가 많았습니다. 많은 분들이 문제를 많이 풀어보는 게 답이라는데, 문제를 꾸준히 풀어나가기 어려운 부분들이 있었던 것 같습니다. 코드트리 어땠나요?1. 체계적 학습을 통한 “나도 할 수 있다”는 느낌무엇보다 가장 좋았던 점은 어려운 문제를 바로 맞닥뜨리는 것이 아니라 기본 개념부터 연습 문제..

Algorithm/Programmers

[알고리즘/프로그래머스/카카오] 양과 늑대

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이진 트리를 탐색하면서 양이 늑대에게 잡아먹히지 않도록 하는 양의 최댓값을 구하는 문제이다. 방문한 늑대 노드의 수가 방문한 양 노드 수 이상인 경우 늑대는 양을 모두 잡아먹는다. 트리 전체를 탐색하면서 방문한 양과 늑대 개수를 세야하고 info의 최댓값도 작기 때문에 DFS 문제이다. 하지만 일반적인 DFS와 다르게 노드를 재방문해야 하는 경로가 있기 때문에 어려웠다. 예를 들어, 예..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점Kit] 여행경로(DFS, JS)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43164# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 주어진 항공권을 모두 이용해 여행경로를 짤 때, 방문하는 공항 경로를 구하는 문제이다. 이때 주의할 점은 가능한 경로가 여러 개 있다면, 알파벳 순서가 앞서는 경로를 반환해야 한다는 것이다. 이 조건을 만족하기 위해 tickets 배열을 먼저 정렬해준다. 자바스크립트 sort는 기본적으로 알파벳 오름차순 순서로 배열을 해주고, 2차원 배열의 경우 첫 번째 요소가 같은 경우, 두 번째 ..

Algorithm/Programmers

[알고리즘/프로그래머스/카카오] 양궁대회(JS)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제를 반복해 읽으면서 라이언이 화살을 (어피치 개수 + 1) 또는 0개의 화살을 쏠 수 있을 거라고 생각했다. 이 경우, 화살을 쏘거나 쏘지 않거나의 2가지 경우^최대 레벨 = 10으로 1024가 최대 가지수이므로, DFS를 생각했지만 어려워서 이 블로그를 참고해 이해하였다. 크게 보면, 1. 화살을 쏠 때마다 현재 점수와 정답 배열(점수 당 사용한 라이언의 화살 개수 배열)을 갱신하..

Algorithm/Programmers

[알고리즘/프로그래머스/카카오] 택배 배달과 수거하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 트럭에 최대 cap개의 택배를 실을 수 있고, 집마다 배달/수거할 택배 상자의 개수가 있을 때, 모든 택배를 처리할 수 있는 최소 이동 거리를 구하는 문제이다. 배달/수거가 필요한 가장 먼 지점까지 이동하고, 이후 초기 지점으로 돌아와야 하기 때문에 이동 거리는 Math.max(배달 최대 거리, 수거 최대 거리)의 2배가 된다. deliveryP와 pickupP는 각각 배송/수거해야하..

개발자 김비숑
'알고리즘' 태그의 글 목록