본문 바로가기

Algorithm/Programmers4

[프로그래머스] 배달 (Level 3) programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 도로의 정보(2차원배열), N(노드의 개수), K(거리)가 주어진다 도로의 정보에는 각 노드-노드 (거리)의 정보가 들어있다 N=5이면 1,2,3,4,5라는 도시가 있고 도로의 정보가 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]]이면, 1-2도시의 거리는 1, 2-3도시의 거리는 3.. 이다 문제는 다음.. 2020. 11. 18.
[프로그래머스] 방문 길이 (Level 3) programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 문제 (0,0)부터 시작한다 U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 위와 같은 규칙으로 움직인다 (input : ULURRDLLU) 이동한 길의 개수를 출력하는 문제이다 (하지만, 한번 이동했던 길은 카운트하지 않는다) 해결 Enum 클래스에 각 규칙의 좌표를 정의한다 Graph 클래스에는 Point(좌표) 클래스와 Set을 필드로 둔다 그리고 move()라는 메소드를 통해 좌표를 움직인다 start, end 객체를 생성하고 Set에 넣는다 (여기서 좌표는 최대 -5 < x,y < 5 .. 2020. 11. 18.
[프로그래머스] 멀쩡한 사각형 (Level 2) programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 문제 가로 길이 W, 세로 길이 H가 주어지는데, 대각선 방향으로 잘랐을 때, 사용할 수 있는 정사각형 개수를 구하는 문제이다 (위 링크를 통해 그림참고) 해결 1차 함수로 풀었다 직사각형을 대각선으로 그으면, y = (h / w) * x 방정식이 만들어진다 대각선이 있으면 카운트할 수 없다 x를 0부터 대입했을 때, y까지만 사용할 수 있는 정사각.. 2020. 11. 10.
[프로그래머스] 스킬트리 (Level 2) programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 문제 스킬순서와 배워야하는 스킬트리가 주어진다 예를 들어, skill : CBD skill_trees : ["BACDE", "CBADF", "AECB", "BDA"] 이면, 스킬을 배울 때, 꼭 C, B, D 순서로 배워야만 한다 BACDE: B 스킬을 배우기 전에 C 스킬을 먼저 배워야 합니다. 불가능한 스킬트립니다. CBADF: 가능한 스킬트리입니다. AECB: 가능한 스킬트리입니다. BDA: B 스킬을 배우기 전에 C 스킬을 먼저 배워야 합니다. 불가능한 스킬트리입니다. 그래서 스킬트리 중 총 2개를 배울 수 있다 자세한 문제는 위 링크를 통해 확인할 .. 2020. 11. 7.