본문 바로가기

전체 글178

[프로그래머스LV2] 미로찾기 (bfs) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 x 1 크기의 칸들로 이루어진 직사각형 격자 형태의 미로에서 탈출하려고 합니다. 각 칸은 통로 또는 벽으로 구성되어 있으며, 벽으로 된 칸은 지나갈 수 없고 통로로 된 칸으로만 이동할 수 있습니다. 통로들 중 한 칸에는 미로를 빠져나가는 문이 있는데, 이 문은 레버를 당겨서만 열 수 있습니다. 레버 또한 통로들 중 한 칸에 있습니다. 따라서, 출발 지점에서 먼저 레버가 있는 칸으로 이동하여 레버를 당긴 후 미로를 빠져나가는 문이 있는 칸으로 이동하면 됩니다. 이때 아직 레버를 당기지 않았더라도 출구가 있는.. 2023. 8. 29.
[프로그래머스 LV2] 게임 맵 최단거리 https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5.. 2023. 8. 28.
[프로그래머스 LV2] 소수찾기 (JS) https://school.programmers.co.kr/learn/courses/30/lessons/42839 소수란 1과 자기 자신 이외의 자연수로는 나눌 수 없는 자연수 2,3,5,7,11..... 1은 소수가 아니다 2는 소수 중 유일한 짝수이다 n이 소수인지 확인하기 n이 소수이려면 1과 n자기 자신만이 약수여야 한다. n이 1과 자기자신을 제외한 수로 나눠지면 소수가 아니고 나눠지지 않으면 소수이다. 2부터 n-1까지를 모두 순회하며 확인 할 수 있지만 이는 효율성이 떨어진다. 사실 제곱근 이하의 수만 n으로 나눠떨어지는지 판별해도 n이 소수인지 알 수 있다. 제곱근 이상의 수는 이미 제곱근 이전의 약수와 짝을 이루기 때문이다 만약 100의 약수를 찾을 때 약수들은 1, 2, 5, 10, 2.. 2023. 8. 28.
[프로그래머스 LV2] 피로도 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전탐색, dfs 배운점 탈출조건이 dfs안에 있을수도 있다 function solution(k, dungeons) { var answer = -1; // const min = Math.min(...dungeons.map((d) => d[0])); // 참여하기 위해 필요한 최소 최소필요 피로도 // 현재피로도, 방문한 던전 갯수, 미방문한 던전 function dfs(curr, step, res.. 2023. 8. 25.
[프로그래머스 LV2] 양궁대회 https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제요점 k점에 더 많은 화살을 맞힌사람이 k점을 가져감 맞힌 갯수가 같을 경우 어피치가 가져감 둘다 k점에 못 맞힌경우 아무도 가져가지 않는다 최종점수가 더 높은 선수가 우승자, 단 같을 경우 어피치가 우승자 라이언이 어피치를 가장 큰 점수 차이로 이기기 위해 n발을 어떤 과녁에 맞혀야하는지를 구하시오 라이언이 지거나 비기는 경우는 -1리턴 작은 차로 어피치를 이겨야함 어피치의 화살갯수가 작은 .. 2023. 8. 25.
Regex 1. 정규표현식 개념 정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴이다. 이 패턴들은 RegExp의 exec 메소드와 test 메소드 그리고 String의 match, replace, search, split 메소드와 함께 쓰인다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions 헷갈린 개념 혹은 | 특수 문자 \ [^ ] : [ ] 이 외 ^[ ] : [ ] 로 시작 확장문자 (: backslash) s : 공백 문자(스페이스, 탭, 폼 피드, 라인 피드) b : 단어의 경계 B 이를 제외한 모든 문자 매칭 d : 숫자 D : 숫자가 아닌 문자 [^0-9] 와 동일 w : 알파벳.. 2023. 8. 25.