목록프로그래머스 (167)
안녕하세요
[1차] 다트 게임 1 1S2D*3T 37 11 * 2 + 22 * 2 + 33 2 1D2S#10S 9 12 + 21 * (-1) + 101 3 1D2S0T 3 12 + 21 + 03 4 1S*2T*3S 23 11 * 2 * 2 + 23 * 2 + 31 5 1D#2S*3S 5 12 * (-1) * 2 + 21 * 2 + 31 6 1T2D3D# -4 13 + 22 + 32 * (-1) 7 1D2S3T* 59 12 + 21 * 2 + 33 * 2 문제 요약 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. ex) 1S, 2D, 3T => 1^1, 2^2, 3^3 // 옵션으..
가장 가까운 같은 글자 입출력 예sresult "banana" [-1, -1, -1, 2, 2, 2] "foobar" [-1, -1, 1, -1, -1, -1] 문제 요약 banana 처음 나온 글자는 -1로 표시 b => -1 a => -1 n => -1 두번째 부터는 앞에 나온 글자와의 간격 표시 a => 2칸 앞 n => 2칸 앞 a => 2칸 앞 1. 처음 나왔다면 answer 배열에 -1 추가 if (!Object.keys(alphabet).includes(el)) { answer.push(-1); 2. 처음 나온 문자와 문자의 index를 alphabet Object에 추가 => {b:0} alphabet[el] = index; 3. 처음 나온 문자가 아니라면 answer에 (현재 index ..
하노이의 탑 문제 요약 목표: 1번에 있는 n개의 원반을 3번으로 옮겨라. 규칙1. 한 번에 하나만 옮긴다. 규칙2. 작은 원반 위에 큰 원반이 있을 수 없다. 재귀는 이해를 못하겠습니다. https://www.youtube.com/watch?v=uSSC0aKXbWQ&t=651s function solution(n) { const answer = []; const hanoi = (plate, start, via, end) => { // 원반이 1개라면 목적지로 옮긴다. if (plate === 1) { answer.push([start, end]); return; } // n-1개의 원반을 경유지로 옮겨야 한다. hanoi(plate - 1, start, end, via); // 그리고 시작점에 있는 제..
푸드 파이트 대회 문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했..