LV2

코딩 테스트/프로그래머스

[프로그래머스] 거리두기 확인하기

📙 1. 문제 Link : https://school.programmers.co.kr/learn/courses/30/lessons/81302 문제 설명 풀이 1 : 내 풀이 풀이 과정 1. 맨해튼 거리를 이동 거리에 따라 A, B, C로 구분 2. A : 네 방향으로 2칸 이동 -> 사이에 X가 1개 있다면 지킴 3. B : 대각선으로 이동 -> 사이에 X가 2개 있다면 지킴 3. C : 네 방향으로 1칸 이동 -> 무조건 지키지 않음 function solution(places) { const result = [] const manhatenA = [[2,0],[-2,0],[0,2],[0,-2]] const manhatenB = [[1,1],[1,-1],[-1,1],[-1,-1]] const manha..

코딩 테스트/프로그래머스

[프로그래머스] 방금 그곡

📙 1. 문제 Link : https://school.programmers.co.kr/learn/courses/30/lessons/17683 문제 설명 풀이 1 풀이 과정 1. musininfos를 forEach를 통해 순회하였다. 이 때, 구조분해를 이용하여 startTime(시작 시간), endTime(종료 시간) 등 변수화하였다. 2. C#,D#가 있어서 다음 문자가 #이라면 #과 함께 infoArr 배열에 저장하는 방식으로 하여 #을 묶어서 저장하였다. 3. 2에서 구한 길이와 지속 시간을 이용하여 반복 횟수와 나머지를 구하였다. 4. minusTime 함수를 이용해 시간차를 구한다. minusTime함수는 시간과 분을 분리하여 시간 차이 * 60 + 분 차이를 뺀 결과이다. 5. indexOf를..

코딩 테스트/프로그래머스

[프로그래머스] 후보키

📙 1. 문제 Link : https://school.programmers.co.kr/learn/courses/30/lessons/42890 문제 설명 풀이 1 : DFS 깊이 우선 탐색 풀이 과정 1. 문제를 읽어보면 다른 꼼수 없이 모든 경우의 수를 탐색해야 함을 직감할 수 있다. 그래서 나는 DFS와 BFS 중에 고민했다. 2. 그렇다면 왜 BFS가 아니라 DFS인가? 문제에서 후보 키는 1. 유일성 2. 최소성을 만족시켜야 한다고 했다. 그래서 중간에 두 조건 중 하나라도 만족하지 않으면 stop 하는 알고리즘을 짜기 위해 DFS로 구현하였다. 그러나, 결국 모든 조합을 완성하고, 위 두 조건을 체크하기에 DFS와 BFS는 시간 복잡도가 동일할 것이다. BFS로 구현해도 괜찮으니, DFS와 BFS..

코딩 테스트/프로그래머스

[프로그래머스] 문자열 압축

📙 1. 문제 Link : https://school.programmers.co.kr/learn/courses/30/lessons/60057 문제 설명 풀이 1 : 실패(테스트 케이스는 통과 but 채점에서 다수 실패) function solution(s) { var answer = Infinity; const howManyDup = (i,unit,cnt) => { if(s.substring(i,i+unit)===s.substring(i+unit,i+unit+unit)){ // 뒤와 동일하다면 return howManyDup(i+unit,unit,cnt+1); }else{ return cnt; } } const getCount = (s,unit) => { const arr = []; let str = "..

코딩 테스트/프로그래머스

[프로그래머스] 순위 검색

📙 1. 문제 Link : https://school.programmers.co.kr/learn/courses/30/lessons/72412?language=javascript [프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr](https://school.programmers.co.kr/learn/courses/30/lessons/72412?language=javascript) 문제 설명 🌈 2.시작하며 풀이 과정 1 (시간 초과 풀이) 처음에는 객체를 사용하려다가, 객체를 사용하여 javascript,css.. 등 각각 매칭시키면 javascript-ba..

코딩 테스트/프로그래머스

[프로그래머스] 양궁대회

📙 1. 문제 Link : https://school.programmers.co.kr/learn/courses/30/lessons/92342 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원회는 한 선수의 연속 우승보다는 다양한 선수들이 양궁대회에서 우승하기를 원합니다. 따라서, 양궁대회 운영위원회는 결승전 규칙을 전 대회 우승자인 라이언에게 불리하게 다음과 같이 정했습니다. 어피치가 화살 n발을 다 쏜 후에 라이언이 화살 n발을 쏩니다. 점수를 계산합니다. 과녁판은 아래 사진처럼 생겼으며 가장 작은 원의 과녁 점수는 10점이고 가장 큰 원의 바깥쪽은 과녁 점수가 0점입니다...

코딩 테스트/프로그래머스

[프로그래머스] 이모티콘 할인행사

📙 1. 문제 Link : https://school.programmers.co.kr/learn/courses/30/lessons/150368 문제 설명 카카오톡에서는 이모티콘을 무제한으로 사용할 수 있는 이모티콘 플러스 서비스 가입자 수를 늘리려고 합니다. 이를 위해 카카오톡에서는 이모티콘 할인 행사를 하는데, 목표는 다음과 같습니다. 이모티콘 플러스 서비스 가입자를 최대한 늘리는 것. 이모티콘 판매액을 최대한 늘리는 것. 1번 목표가 우선이며, 2번 목표가 그 다음입니다. 이모티콘 할인 행사는 다음과 같은 방식으로 진행됩니다. n명의 카카오톡 사용자들에게 이모티콘 m개를 할인하여 판매합니다. 이모티콘마다 할인율은 다를 수 있으며, 할인율은 10%, 20%, 30%, 40% 중 하나로 설정됩니다. 카카..

코딩 테스트/프로그래머스

[프로그래머스] 택배 배달과 수거하기

📙 1. 문제 Link : https://school.programmers.co.kr/learn/courses/30/lessons/150369 문제 설명 당신은 일렬로 나열된 n개의 집에 택배를 배달하려 합니다. 배달할 물건은 모두 크기가 같은 재활용 택배 상자에 담아 배달하며, 배달을 다니면서 빈 재활용 택배 상자들을 수거하려 합니다. 배달할 택배들은 모두 재활용 택배 상자에 담겨서 물류창고에 보관되어 있고, i번째 집은 물류창고에서 거리 i만큼 떨어져 있습니다. 또한 i번째 집은 j번째 집과 거리 j - i만큼 떨어져 있습니다. (1 ≤ i ≤ j ≤ n) 트럭에는 재활용 택배 상자를 최대 cap개 실을 수 있습니다. 트럭은 배달할 재활용 택배 상자들을 실어 물류창고에서 출발해 각 집에 배달하면서, ..

피터s
'LV2' 태그의 글 목록