Javascript(47)
-
[JS] 할인행사: 2중 loop까지만 돌리면 ok
이거 옛날에 풀었던거 같은데새로 나왔네용..뭐지..? 반복문을 최대한 줄이려고 노력하면 풀립니다. 문제 요약 품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다. 예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과 2개, 쌀 2개, 돼지고기 2개, 냄비 1개이며, XYZ 마트에서 15일간 회원을 대상으로 할인하는 제품이 날짜 순서대로 치킨, 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비, 바나나, 사과, 바나나인 경우에 대해 알아봅시다. 첫째 날부터 열흘 간에는 냄비가 할인하지 않기 때문에 첫째 날에는 회원가입을 하지 ..
2022.10.08 -
[JS] 혼자 놀기의 달인 - union-find를 써보세요.
간만에 코테 문제 푸네요.새로나온 level2 문제인 혼자놀기의 달인입니다.find 알고리즘을 쓰면 쉽게 해결 가능합니다.같이 보죠! 문제 요약 혼자서도 잘 노는 범희는 어느 날 방구석에 있는 숫자 카드 더미를 보더니 혼자 할 수 있는 재미있는 게임을 생각해냈습니다. 숫자 카드 더미에는 카드가 총 100장 있으며, 각 카드에는 1부터 100까지 숫자가 하나씩 적혀있습니다. 2 이상 100 이하의 자연수를 하나 정해 그 수보다 작거나 같은 숫자 카드들을 준비하고, 준비한 카드의 수만큼 작은 상자를 준비하면 게임을 시작할 수 있으며 게임 방법은 다음과 같습니다. 준비된 상자에 카드를 한 장씩 넣고, 상자를 무작위로 섞어 일렬로 나열합니다. 상자가 일렬로 나열되면 상자가 나열된 순서에 따라 1번부터 순차적으로..
2022.10.07 -
[React] 리빙포인트: 주석 간지나게 달기😎
유튜브에서 코딩애플 채널을 참 좋아하는데, 너무 비전공자, 초보자들 위주로 타깃하지도 않고 중급자들이 알기 힘든 너무 전문적이고 지엽적인 지식을 다루지도 않는다. (그리고 그냥 재밌다) 자바스크립트 20년차 개발차처럼 주석 다는법이라는 영상을 보고 너무 신기했다. 방법은 아주 간단하다. /** * @contents: 글자로 nav표현하고 싶을 때 배열로 넘겨주세요. * @children: 맘에 안들면 입맛대로 만들어서 넣어주세요. / 평소처럼 주석 템플릿 안에 *(asterisk)를 하나만 넣지 말고, 두개를 넣으면 된다. 그리고 그 안에서 @를 사용하면 해당 컴포넌트에서 쓰이는 interface props의 간단한 설명을 같이 넘길 수 있다. 이렇게 해두면 interface의 변수명만으로 알 수 없는 ..
2022.09.28 -
[JS] 양과 늑대 - dfs인데 왔다리갔다리 함..
dfs 응용입니다. 양만 먹어야 된대요.같이 한 번 볼까요? 문제 요약 2진 트리 모양 초원의 각 노드에 늑대와 양이 한 마리씩 놓여 있습니다. 이 초원의 루트 노드에서 출발하여 각 노드를 돌아다니며 양을 모으려 합니다. 각 노드를 방문할 때 마다 해당 노드에 있던 양과 늑대가 당신을 따라오게 됩니다. 이때, 늑대는 양을 잡아먹을 기회를 노리고 있으며, 당신이 모은 양의 수보다 늑대의 수가 같거나 더 많아지면 바로 모든 양을 잡아먹어 버립니다. 당신은 중간에 양이 늑대에게 잡아먹히지 않도록 하면서 최대한 많은 수의 양을 모아서 다시 루트 노드로 돌아오려 합니다. 예를 들어, 위 그림의 경우(루트 노드에는 항상 양이 있습니다) 0번 노드(루트 노드)에서 출발하면 양을 한마리 모을 수 있습니다. 다음으로 1..
2022.09.26 -
[JS] 파괴되지 않은 건물: (new) 누적합
새로운 알고리즘입니다! 배열의 일정 구간을 일괄적으로 N만큼 조작하고 싶을 때 사용할 수 있습니다.먼저 문제를 보죠! 문제 요약 N x M 크기의 행렬 모양의 게임 맵이 있습니다. 이 맵에는 내구도를 가진 건물이 각 칸마다 하나씩 있습니다. 적은 이 건물들을 공격하여 파괴하려고 합니다. 건물은 적의 공격을 받으면 내구도가 감소하고 내구도가 0이하가 되면 파괴됩니다. 반대로, 아군은 회복 스킬을 사용하여 건물들의 내구도를 높이려고 합니다. 적의 공격과 아군의 회복 스킬은 항상 직사각형 모양입니다. 예를 들어, 아래 사진은 크기가 4 x 5인 맵에 내구도가 5인 건물들이 있는 상태입니다. 첫 번째로 적이 맵의 (0,0)부터 (3,4)까지 공격하여 4만큼 건물의 내구도를 낮추면 아래와 같은 상태가 됩니다. 두..
2022.09.20 -
[JS] 길찾기 게임 - 하발자 특(나): 힙 씀, 상발자 특: 트리 씀
길 찾기 게임 문제는 트리를 이용해야 합니다. 조금 아는 지식이 무섭다고.. 이런 문제 있으면 자꾸 힙을 쓰게 되서 구현이 너무 험난했는데요.. 트리를 쓰면 꽤나 쉬운 문제였습니다. 원래 알고리즘 올린 다음날엔 그거 쓰는 코테 문제 푸는게 국룰인거 아시죠? 2022.09.18 - [알고리즘] - [JS] 트리와 힙의 차이는 뭘까? 문제 요약 전무로 승진한 라이언은 기분이 너무 좋아 프렌즈를 이끌고 특별 휴가를 가기로 했다. 내친김에 여행 계획까지 구상하던 라이언은 재미있는 게임을 생각해냈고 역시 전무로 승진할만한 인재라고 스스로에게 감탄했다. 라이언이 구상한(그리고 아마도 라이언만 즐거울만한) 게임은, 카카오 프렌즈를 두 팀으로 나누고, 각 팀이 같은 곳을 다른 순서로 방문하도록 해서 먼저 순회를 마친 ..
2022.09.19