FrontEnd/프로그래머스

    [JS] 등굣길

    https://school.programmers.co.kr/learn/courses/30/lessons/42898# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 동적계획법 (dp) 를 활용하면 해결할 수 있는 문제이다. 2차원 배열을 둔 후 dp에 이를 저장하면 된다. dp[r][c] = dp[r-1][c] + dp[r][c-1] 위 점화식을 활용하면 m,n까지 갈 수 있는 경로를 모두 구할 수 있다. 조금까다로운 부분은 2가지가 있다. 1. 웅덩이 [일단 웅덩이가 row,col 이 아니라 col,row로 되어있다;; 조심해야함] 웅덩이를 처음에 1로 ..

    [JS] 가장 많이 받은 선물

    map 자료형을 활용한 나름 간단한(?) 구현문제이다. https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr map자료형에 사람이름을 key로 두고 send에는 해당 사람이 보낸 사람들의 목록을 , get에는 내가 받은 사람의 목록을 저장한다. 사람들끼리 선물을 돌리게 하기 위해서 반복문을 사용하면서 순회하고, 서로 선물을 주고받으면 된다. 1. 서로선물을 주고받은 경우 -> 더 많이 선물을 준사람이 받음 2. 서로 선물을 주고받은 수가 같은 경우..

    [JS] 주사위 고르기

    DFS(완전탐색) + 조합 + Map 자료형 을 조합해서 풀었다. https://school.programmers.co.kr/learn/courses/30/lessons/258709 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 단순하게 완전탐색 + 조합을 활용해서 해결해보려 했다. 조합을 활용해서 모든 주사위 눈의 경우의수를 얻어낸 후 해당 주사위 조합마다 완전탐색을 활용하여 cnt를 계산했다. 하지만 이방식의 경우 이 문제를 풀 수 없다. 최대 주사위가 10개이므로 6 * 10 (완전탐색) * 10C5 의 시간복잡도가 만들어져 해결을 할 수 ..

    [JS] n+1 카드게임

    https://school.programmers.co.kr/learn/courses/30/lessons/258707 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2024 카카오 인턴 문제로 추가된 따끈따끈한 문제로 구현능력을 보는 문제같았다. 제한사항을 보면 알겠지만 케이스가 널널한 편이다. 우선 문제를 해결하기 전에 n+1을 만들기 위해선 항상 수가 쌍으로 존재한다는 생각을 해야한다. 테스트 케이스들에서 n이 12로 고정되었는데 n+1인 13을 만들기 위해서는 (1,12) (2,11) (3,10) ... 이런식으로 두 수로 n+1을 만들기 위해서는 한..

    [JS] 네트워크

    유니온 파인드를 사용해서 해결했다. https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제가 조금은 독특하게 주어졌다. 서로 이어져 있는것을 그래프 형태도 아니고 한번에 map으로 주어진 것도 아닌 형태로 주어졌다. 문제를 처음 딱 보자마자 union-find를 활용해서 네트워크에 맞는 컴퓨터들을 합쳐주면 되겠다! 라 생각을 했다. set의 개수를 구하는 방법은 마지막에 틀릴 수 있다는 게 유니온-파인드를 쓴다면 조금 조심해야 할 부분이다. 왜냐..

    [JS] 단어 변환

    DFS를 활용하여 해결하였다. https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 보통은 DFS/BFS를 통한 완전탐색 시에 배열을 많이 활용하는데 해당 문제의 경우 문자자체가 key가 되기 때문에 visited배열을 Map자료형을 사용하였다. dfs를 활용해서 모든 경우의수를 탐색하며 최소값을 갱신시키면 된다. function solution(begin, target, words) { //변할 수 있는 단어인지 체크 const isCanChang..