자바스크립트 15

[Softeer] 징검다리

https://softeer.ai/practice/6293 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai문제 정의가 그렇게 많지 않아 쉬운 문제인 줄 알았으나 생각보다 애를 먹인 문제임 주어진 배열에서 철수가 점점 더 높은 돌을 밟아야 함. 그래서 이중 반복문을 통해 시작 지점을 옮기며 계산했지만 예외가 있음 gpt의 도움을 통해 문제를 이해함. 해당 문제는 dp 문제로 dp의 배열에는 해당 인덱스까지의 최대 밟은 개수를 저장함 이중 반복문을 통해 현재 인덱스의 값보다 작은 값이 있으면 dp 배열을 통해 현재 dp값과 작은 값의 dp값에 + 1 한 값과 비교하여 저장함 현재 높이의 돌을 밟는다는 것은 이전 인덱스 높이가 현재 높이보다 낮다는 것임. 따라서 현재 인덱스까지 반복문을 ..

DEV/코딩테스트 2025.05.20

[프로그래머스] 2차원 동전 뒤집기

https://school.programmers.co.kr/learn/courses/30/lessons/131703 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr처음 문제를 확인했을 때 제한사항이 그렇게 크지 않아서 전체 탐색으로 풀려고 했었음, 하지만 문제에 대한 잘못된 이해임을 깨달은 후 다른 방법을 모색함 두 배열의 다른 부분을 나타내는 배열을 만들고 이 배열을 모두 0으로 만들면 목표상태와 같아짐 XOR의 특성을 이해하면 쉽게 풀 수 있는 문제였지만 특성을 알지 못해 친구에게 힌트를 얻어 문제를 풀이함 각 행 또는 열을 두 번 이상 바꾸는 것은 최소 뒤집기가 되지 않음 따라서 한 행 또는 열을 한 번씩만..

DEV/코딩테스트 2025.05.20

[프로그래머스] 산 모양 타일링

https://school.programmers.co.kr/learn/courses/30/lessons/258705 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코딩 테스트 준비를 위해 풀었지만 아무런 준비를 하지 못한 문제임 처음 문제를 접했을 땐 직관적으로 이전의 타일링 방식이 이후의 타일링 방식에 영향을 준다는 것을 알아채고 DP 문제라고 생각함 다만 DP의 점화식을 어떻게 구성할지에 대해서 고민하다가 풀지 못한 문제임, 처음부터 그림을 그리며 패턴을 파악했다면 그나마 유추할 수 있지 않을까 생각함 그 뒤로 gpt와 블로그 글을 참고하여 내용을 확인했지만 여전히 의문이 생겨 직접 그림을 그려 패턴을 파악하..

DEV/코딩테스트 2025.05.20

[프로그래머스] 광물 캐기

https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코딩 테스트 준비를 위해 웜업으로 풀이한 문제지만 유형이 익숙하지 않다 보니 GPT의 도움도 받고 시간이 걸렸음 처음 풀이과정에서는 제한사항이 그렇게 크지 않아 전체 탐색을 해도 되겠다 싶어서 dfs를 통해 경우의 수를 모두 구하는 방식을 사용했음 하지만 테스트 케이스 중 통과되는 케이스가 있었지만 조건문을 잘못 사용했는지 절반정도가 실패했음 GPT에게 질문한 결과 문제의 조건이 한번 사용하면 5개의 광물까지 사용해야 하기 때문에 5개를 기준으..

DEV/코딩테스트 2025.05.16

[프로그래머스] 당구 연습

https://school.programmers.co.kr/learn/courses/30/lessons/169198 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 예시를 통해서 가로, 세로가 동일할 것이란 생각에 어떤 방향이든 동일한 최솟값을 가질 거 같아 구현해 보았지만 가로, 세로가 달라질 수 있기 때문에 틀렸음 먼저 아이디어가 떠올랐던 것이 y절편, x절편이었고 이후에 좀 더 생각해 보니 x, y축으로 반사하여 두 점의 길이를 구하면 그 값이 원쿠션의 길이였음 다만 가로, 세로 크기가 달라서 모든 면에 대해 반사한 점에 대한 길이를 구해주어야 함 또한 x 또는 y가 시작점과 같은 경우 조건에 ..

DEV/코딩테스트 2025.04.22

[프로그래머스] 도넛과 막대 그래프

https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제를 접했을 때 가장 먼저 구해야 하는 것은 새로 생성된 노드를 찾는 것이라고 생각함 새로 생성된 노드의 특징은 나가는 간선이 2개 이상이고 들어오는 간선은 없다는 것임 따라서 graph를 만드는 과정에서 들어오는 간선의 수를 구해주고 새로 생성된 노드를 찾을 수 있음 생성된 노드 기준으로 탐색을 하며 각 그래프를 탐색하면 되는데 처음엔 각 그래프의 특징을 잡는 접근 방식을 사용했지만 문제에서 정의해 주듯 노드와 간선의 개수로 그래프를 구분함..

DEV/코딩테스트 2025.04.21

[프로그래머스] 연속된 부분 수열의 합

https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr제한사항5 ≤ sequence의 길이 ≤ 1,000,0001 ≤ sequence의 원소 ≤ 1,000sequence는 비내림차순으로 정렬되어 있습니다.5 ≤ k ≤ 1,000,000,000k는 항상 sequence의 부분 수열로 만들 수 있는 값입니다. 제한사항을 통해 모든 부분 수열을 구해서 풀이하는 것이 어렵다고 판단했지만 배열의 큰 수부터 거꾸로 하는 방법으로 구현해서 시간초과 발생 확인 DP 방식으로 아이디어를 생각해 봤지만 떠오르지 않..

DEV/코딩테스트 2025.04.20

[프로그래머스] 완전범죄

https://school.programmers.co.kr/learn/courses/30/lessons/389480 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr처음 문제를 보고 단순히 접근했을 때 dfs 방식으로 진행하면 되겠다는 생각이 들었음 하지만 제한사항이 작은 수임에도 불구하고 dfs방식을 채택하면 2의 승수로 경우의 수가 늘기 때문에 시간초과가 발생함 계속해서 문제를 이해하려 할 때 떠오르는 것은 DP방식이었음 하지만 어떻게 활용할 지에 대해 떠오르지 않았음 GPT에 질문 결과 DP의 배열은 B가 남긴 흔적 기준으로 만들고 B가 남긴 흔적 기준 A가 남긴 최소 흔적의 합을 저장해 주면 됨 반..

DEV/코딩테스트 2025.04.17

[프로그래머스] 요격 시스템

https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr제한사항1 ≤ targets의 길이 ≤ 500,000targets의 각 행은 [s,e] 형태입니다.이는 한 폭격 미사일의 x 좌표 범위를 나타내며, 개구간 (s, e)에서 요격해야 합니다.0 ≤ s 제한사항을 보았을 때 수가 상당히 큰 것을 볼 수 있음. 그래서 여러 알고리즘을 제거할 수 있었음 다만, 어떤 알고리즘도 활용 방법에 대해 떠오르지 않았음. 여러 아이디어들이 떠올랐지만 그 방식이 최적이 되는지가 판단이 되지 않았음 범위를 오름차순..

DEV/코딩테스트 2025.04.16

[프로그래머스] 충돌위험 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/340211 코딩테스트 연습 - [PCCP 기출문제] 3번 / 충돌위험 찾기알고리즘 문제 연습 카카오톡 친구해요! 프로그래머스 교육 카카오 채널을 만들었어요. 여기를 눌러, 친구 추가를 해주세요. 신규 교육 과정 소식은 물론 다양한 이벤트 소식을 가장 먼저 알려school.programmers.co.kr제한사항4. 다음 포인트로 이동할 때는 항상 최단 경로로 이동하며 최단 경로가 여러 가지일 경우, r 좌표가 변하는 이동을 c 좌표가 변하는 이동보다 먼저 합니다.2 ≤ points의 길이 = n ≤ 100 points[i]는 i + 1번 포인트의 [r 좌표, c 좌표]를 나타내는 길이가 2인 정수..

DEV/코딩테스트 2025.04.15