[javascript] softeer level3: 효도 여행
·
코딩테스트
https://softeer.ai/practice/7649 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 제한 사항3 ≤ N, M ≤ 5,000, N, M은 정수1 ≤ u, v ≤ N, u≠vc, S는 영문 대문자('A' ~ 'Z')로만 구성되어 있습니다.문제 풀면서 어려웠던 점연결 관계만 알려주었고, 그 안에서 누가 부모고 자식인지 직접 구현해야함 -> dfs로 해결순서는 유지하면서, 문자열에서 부분수열을 만들었을 때 가장 긴 길이를 구해야하는데, LCS알고리즘을 몰라서 구현하기 어려웠다.문제 풀이 방법1. node배열에 연결된 노드와 간선의 글자를 넣는다. ex) 1 2 A 이면 node[1].push([2, A]), node[2].push([1, A])2. next는 방문할 ..
[javascript] 프로그래머스 level 3 - 합승 택시 요금
·
코딩테스트
https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 제한 사항지점갯수 n은 3 이상 200 이하인 자연수입니다.지점 s, a, b는 1 이상 n 이하인 자연수이며, 각기 서로 다른 값입니다.fares는 2차원 정수 배열입니다.fares 배열의 크기는 2 이상 n x (n-1) / 2 이하입니다.출발지점 s에서 도착지점 a와 b로 가는 경로가 존재하는 경우만 입력으로 주어집니다.문제 풀면서 어려웠던 점방법이 생각 안남S -> A, S -> B 까지 각자..
[node.js & javascript] 백준 gold 5 - 31849번 편세권
·
코딩테스트
왕복 4시간 통학에 지친 현성이는 자취방을 구하려고 한다.현성이가 방을 고르는 기준은 월세와 편의점까지의 거리뿐이다. 가장 마음에 드는 방을 구하기 위해 현성이는 지도 위의 모든 방에 편세권 점수를 매겨 그 중 편세권 점수가 가장 낮은 집을 고르려고 한다. 편세권 점수의 계산 방식은 다음과 같다.편세권 점수 = (방에서 가장 가까운 편의점까지의 거리 × 월세)현성이가 보고 있는 지도는 N X M 크기의 격자로 이루어져 있다. 지도의 x행 y열에 있는 칸의 위치를 (x, y)로 나타내자. 방의 위치가 (a, b), 편의점의 위치가 (c, d) 일 때 방에서 편의점까지의 거리는 |a-c|+|b-d| 로 계산한다.현성이는 가장 낮은 편세권 점수를 가진 방을 골랐다. 이 방의 편세권 점수는 몇 점일까? 제한 ..
[javascript] 프로그래머스 level 2 - 배달
·
코딩테스트
대표적인 다익스트라 알고리즘 문제 N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시간은 도로별로 다릅니다. 현재 1번 마을에 있는 음식점에서 각 마을로 음식 배달을 하려고 합니다. 각 마을로부터 음식 주문을 받으려고 하는데, N개의 마을 중에서 K 시간 이하로 배달이 가능한 마을에서만 주문을 받으려고 합니다. 다음은 N = 5, K = 3인 경우의 예시입니다.위 그림에서 1번 마을에 있는 음식점은 [1, 2, 4, 5] 번 마을까지는 3 이하의 시간에 배달할 수 있습니다. 그러나 3번 마..
[javascript] 프로그래머스 level 3 - 최적의 행렬 곱셈
·
코딩테스트
문제 설명크기가 a by b인 행렬과 크기가 b by c 인 행렬이 있을 때, 두 행렬을 곱하기 위해서는 총 a x b x c 번 곱셈해야합니다.예를 들어서 크기가 5 by 3인 행렬과 크기가 3 by 2인 행렬을 곱할때는 총 5 x 3 x 2 = 30번의 곱하기 연산을 해야 합니다.행렬이 2개일 때는 연산 횟수가 일정 하지만, 행렬의 개수가 3개 이상일 때는 연산의 순서에 따라서 곱하기 연산의 횟수가 바뀔 수 있습니다. 예를 들어서 크기가 5 by 3인 행렬 A, 크기가 3 by 10인 행렬 B, 크기가 10 by 6인 행렬 C가 있을 때, 순서대로 A와 B를 먼저 곱하고, 그 결과에 C를 곱하면 A와 B행렬을 곱할 때 150번을, AB 에 C를 곱할 때 300번을 연산을 해서 총 450번의 곱하기 연..
[javascript] 프로그래머스 level 3 - 거스름돈
·
코딩테스트
문제 설명Finn은 편의점에서 야간 아르바이트를 하고 있습니다. 야간에 손님이 너무 없어 심심한 Finn은 손님들께 거스름돈을 n 원을 줄 때 방법의 경우의 수를 구하기로 하였습니다.예를 들어서 손님께 5원을 거슬러 줘야 하고 1원, 2원, 5원이 있다면 다음과 같이 4가지 방법으로 5원을 거슬러 줄 수 있습니다.1원을 5개 사용해서 거슬러 준다.1원을 3개 사용하고, 2원을 1개 사용해서 거슬러 준다.1원을 1개 사용하고, 2원을 2개 사용해서 거슬러 준다.5원을 1개 사용해서 거슬러 준다.거슬러 줘야 하는 금액 n과 Finn이 현재 보유하고 있는 돈의 종류 money가 매개변수로 주어질 때, Finn이 n 원을 거슬러 줄 방법의 수를 return 하도록 solution 함수를 완성해 주세요.제한 사항..
[javascript] 프로그래머스 level 3 - 선입 선출 스케줄링 feat.parametric search
·
코딩테스트
https://school.programmers.co.kr/learn/courses/30/lessons/12920 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명처리해야 할 동일한 작업이 n 개가 있고, 이를 처리하기 위한 CPU가 있습니다.이 CPU는 다음과 같은 특징이 있습니다.CPU에는 여러 개의 코어가 있고, 코어별로 한 작업을 처리하는 시간이 다릅니다.한 코어에서 작업이 끝나면 작업이 없는 코어가 바로 다음 작업을 수행합니다.2개 이상의 코어가 남을 경우 앞의 코어부터 작업을 처리 합니다.처리해야 될 작업의 개수 n과, 각 코어의 처리시간이 ..
[javascript] 프로그래머스 level 2 - 가장 큰 정사각형 찾기
·
코딩테스트
문제 설명1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 제한사항표(board)는 2차원 배열로 주어집니다.표(board)의 행(row)의 크기 : 1,000 이하의 자연수표(board)의 열(column)의 크기 : 1,000 이하의 자연수표(board)의 값은 1또는 0으로만 이루어져 있습니다.문제 풀면서 어려웠던 점- 일단 방법이 생각이 안났다. (처음에는 그래서 width와 height중 짧은 값을 정사각형의 max길이로 두고, 하나씩 조사했다. max범위에 1이 모두 채워져있으..