프로그래머스[JS] > 지게차와 크레인
·
🔒Algorithm
✅문제https://school.programmers.co.kr/learn/courses/30/lessons/388353 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr🔥풀이문제를 풀 때 주의해야 할 사항이 몇가지 있는데 다음과 같다지게차로 컨테이너를 꺼낼 때 한번에 꺼내야 한다 -> 만약에 'A' 라는 출고 요청이 들어올 경우 아래와 같은 경우 맨 바깥에 있는 A만 꺼낼수 있다. 맨 바깥의 A를 꺼냈으니 빈공간이 생겼다고 가정하고 안쪽 A까지 꺼낸다고 가정 할 경우 답이 틀린다.크레인으로 꺼낸 빈공간으로 인해 지게차로 꺼낼 수 없는 컨테이너를 꺼낼 수 있으므로 지게차로 컨테이너를 꺼내기 전 반드시 크..
프로그래머[JS] > 서버 증설 횟수
·
🔒Algorithm
문제https://school.programmers.co.kr/learn/courses/30/lessons/389479 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이시간대별로 현재 서버갯수를 파악할 수 있는 servers Array를 생성하고 시간대별 유저수를 탐색하면서 증설해야되는 서버가 필요 시 이를 servers에 추가하면서 증설횟수를 카운트 하여 답을 구할 수 있었다. function solution(players, m, k) { let servers = Array(24).fill(0); let answer = 0; players.forEach((playerCnt, sTime..
PCCP[JavaScript] Lv3 후기
·
➕Etc.
시험일시2024년 11월 17일 11시 ~ 오후 2시 (2시간)인증서후기PCCP lv1를 맞은 후 낙담하고 준비를 더한 뒤 시험을 치루고 lv3을 맞았다.1번 문제는 자료구조 및 구현, 2번 문제는 로직 및 2차원 배열, 3번 문제는 로직구현, 2차원배열, bfs등을 물어보는 문제 같았다. 4번은 문제를 풀다가 시간이 없어서 풀지 못했지만 시간만 주어졌다면 문제를 풀 수 있을 것 같아 아쉬었다.1번은 15~20분 2번은 35분? 3번은 45분? 정두에 풀었다. 내가 알기론 1,2,3,4 번 순서대로 배점이 200, 300, 300, 200 인걸로 알고 있는데 시험을 보고 680점?을 맞았다.1,2,3번을 모두 완벽하게 맞추었다면 800점이 나와 레벨 4가 나왔을 텐데 너무 아쉬었다. 더욱 더 아쉬운건 이..
프로그래머스[JS] > [PCCP 기출문제] 2번 / 퍼즐 게임 챌린지
·
🔒Algorithm
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이제한사항을 보면서 바로 이진탐색으로 접근하라는 냄새를 맡을 수 있었다. 이진탐색으로 접근 안한다면 괴랄할만큼의 연산 횟수가 필요하고 그럼 분명히 시간초과 이슈가 생기기 때문이다. 다행히 해당 접근이 맞았고 해결!function solution(diffs, times, limit) { let max = 100000, min = 1, mid = undefined le..
프로그래머스[JS] > [PCCP 기출문제] 3번 / 충돌위험 찾기
·
🔒Algorithm
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/340211 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이각 로봇들이 0초일때, 1초일때, 2초 일때 .. n 초 일때 위치를 arr에 담았다.예를들어 1번 로봇이 0 초일때 (1,1), 1초일때 (2,3), 2초일때 (3,3) 이라면 이를 [ [1,1], [2,3], [3,3] ] 로 기록하였다.그러면 총로봇갯수만큼의 arr가 생성되고 각 arr의 index가 같고 동일한 위치에 있을 때를 포착하여 충돌횟수를 증가 시켰다.  funct..
프로그래머스[JS] > 거스름돈
·
🔒Algorithm
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/12907 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥첫번째 풀이 ( 테스트 케이스 모두 통과 but 시간초과 )처음에 내가 작성한 코드이다. ( 하단 참조 ) 이 코드는 테스트 케이스는 모두 통과지만 시간초과 테스트에서 모두 시간초과가 나왔다😭 다른사람들의 코드를 참고해보니 재귀가 아닌 dp ( dynamic programming : 최적화 ) 문제였던 것 같다.function solution(n, money) { let answ..
프로그래머스[JS] > 리코쳇 로봇
·
🔒Algorithm
코딩테스트 연습 > 연습문제 > 리코쳇 로봇 (JS) 문제풀이 🔥문제https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이처음에 DFS로 문제풀이 접근을 했는데 여러케이스에서 시간초과로 문제풀이에 실패했다. 그래서 다른 사람의 풀이를 봤는데 BFS로 문제에 접근하고 있었고 내 생각에도 이 접근법이 시간이 월등히 적게 들꺼란 생각이 들어 BFS로 다시 문제풀이를 진행했다.  우리는 목표위치에 도달하기 위한 최소한의 미끄러짐 수를 구하기 때문에 ..
프로그래머스[JS] > 괄호 변환 ( 2020 KAKAO BLIND RECRUITMENT )
·
🔒Algorithm
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이이 문제는 재귀함수를 이용하여 주어진 변환을 지속적으로 할 수 있는지를 확인하는 문제이다. 재귀 함수를 진행하기 위해 필요한 함수 두개를( 균형잡힌 괄호 문자열인지 판단 하는 함수 => is_balanced_string, 올바른 괄호 문자열인지 판단하는 함수 =>is_right_string ) 정의하고 이를 재귀함수 내부에서 이용하여 분기처리 했다.function solution(p..
프로그래머스[JS] > 이모티콘 할인행사
·
🔒Algorithm
🔥문제https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이일단 주어진 조건을 보면 emoticon의 갯수는 최대 7개 정도이고 할인율은 4가지 종류이다. 따라서 이모티콘이 가질 수 할인율 가지수는 최대 4**7 정도이므로 각각의 경우를 모두 개산하는 방식으로 접근해도 무리없다고 판단하였다. 일단 calculator 함수는 유저정보(user_arr)와 이모티콘들의 가격과 할인율을 담은 2차원 배열(emoticons_arr)을 매개변수로 주어졌..
프로그래머스[JS] > 단어변환
·
🔒Algorithm
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이일단 스펠링이 하나만 다른 경우만 단어 변환이 가능하므로 이동가능한 word인지를 확인 하는 함수 can_convert를 정의하여 이를 이용했다. 그리고 재귀함수의 방법을 통해 tagert으로 이동 가능한 모든 경우의수를 깊이우선탐색 방식으로 탐색하면서 목표로한 target 문자열로 변경이 됐을 경우를 포착하고 몇번이동했는지를 현재 최솟값과 비교하여 더 작게 이동했다면 최솟값을 up..