프로그래머스

· 알고리즘
🔥문제링크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..
· 알고리즘
🔥문제링크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..
· 알고리즘
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/12907 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥첫번째 풀이 ( 테스트 케이스 모두 통과 but 시간초과 )처음에 내가 작성한 코드이다. ( 하단 참조 ) 이 코드는 테스트 케이스는 모두 통과지만 시간초과 테스트에서 모두 시간초과가 나왔다😭 다른사람들의 코드를 참고해보니 재귀가 아닌 dp ( dynamic programming : 최적화 ) 문제였던 것 같다.function solution(n, money) { let answ..
· 알고리즘
코딩테스트 연습 > 연습문제 > 리코쳇 로봇 (JS) 문제풀이 🔥문제https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이처음에 DFS로 문제풀이 접근을 했는데 여러케이스에서 시간초과로 문제풀이에 실패했다. 그래서 다른 사람의 풀이를 봤는데 BFS로 문제에 접근하고 있었고 내 생각에도 이 접근법이 시간이 월등히 적게 들꺼란 생각이 들어 BFS로 다시 문제풀이를 진행했다.  우리는 목표위치에 도달하기 위한 최소한의 미끄러짐 수를 구하기 때문에 ..
· 알고리즘
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이이 문제는 재귀함수를 이용하여 주어진 변환을 지속적으로 할 수 있는지를 확인하는 문제이다. 재귀 함수를 진행하기 위해 필요한 함수 두개를( 균형잡힌 괄호 문자열인지 판단 하는 함수 => is_balanced_string, 올바른 괄호 문자열인지 판단하는 함수 =>is_right_string ) 정의하고 이를 재귀함수 내부에서 이용하여 분기처리 했다.function solution(p..
· 알고리즘
🔥문제https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이일단 주어진 조건을 보면 emoticon의 갯수는 최대 7개 정도이고 할인율은 4가지 종류이다. 따라서 이모티콘이 가질 수 할인율 가지수는 최대 4**7 정도이므로 각각의 경우를 모두 개산하는 방식으로 접근해도 무리없다고 판단하였다. 일단 calculator 함수는 유저정보(user_arr)와 이모티콘들의 가격과 할인율을 담은 2차원 배열(emoticons_arr)을 매개변수로 주어졌..
· 알고리즘
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이일단 스펠링이 하나만 다른 경우만 단어 변환이 가능하므로 이동가능한 word인지를 확인 하는 함수 can_convert를 정의하여 이를 이용했다. 그리고 재귀함수의 방법을 통해 tagert으로 이동 가능한 모든 경우의수를 깊이우선탐색 방식으로 탐색하면서 목표로한 target 문자열로 변경이 됐을 경우를 포착하고 몇번이동했는지를 현재 최솟값과 비교하여 더 작게 이동했다면 최솟값을 up..
· 알고리즘
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  🔥후기한참 고민하다 풀지를 못해 다른 사람들의 풀이를 참고한 뒤 문제를 풀었다. 다른사람들의 풀이법을 참고하다 플로이드 와샬 이라는 알고리즘을 알게 되었고 내가 푼 문제의 방식은 플로이드 와샬 알고리즘을 활용한 풀이라는 점을 언급한다. 자세한 풀이법은 하단 주석을 참고하자function solution(n, results) { let answer = 0; // n은 1부터 이..
· 알고리즘
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥첫번째 시도 (런타임 에러) 호기롭게 풀었지만 런타임 에러... 🤔function solution(maps) { var answer = []; // visit 관련 map const visit_map = maps.map((str,x)=>{ let temp = [] for(let y=0; y{ const [x,y] = positio..
· 알고리즘
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥풀이1. 일단 주어진 수식(expression)을 연산자와 피연산자를 구분하여 배열로 나눴다-> [500, '-', 300 , '+', 200] 2. 이런식으로 나눈 다음 최대로 나올수있는 연산순위 6가지를 모두 구함->  하단 op_order_arr 참고 3. 연산자 순위로 나올수 있는 6가지를 모두 돌려가며 최댓값을 계속 갱신-> op_order_arr.forEach((op_arr)..
devWarrior
'프로그래머스' 태그의 글 목록