본문 바로가기

dp

프로그래머스 - 네트워크 문제 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 말한다. 예를들어 컴퓨터A가 컴퓨터B와 직접적으로 연결되어있고, 컴퓨터B가 컴퓨터C와 직접적으로 연결되어있다면, 컴퓨터A와 컴퓨터C는 간접적으로 연결되어 정보를 주고 받을 수 있다. 따라서 컴퓨터A,B,C는 모두 같은 네트워크 상에 있다고 말할 수 있다. 컴퓨터의 갯수 n과 연결에 대한 정보가 주어질 때, 네트워크의 갯수를 반환하라. 입력값 n(int): 컴퓨터의 갯수 computers(int[][]): 컴퓨터들이 연결되어있는지 아닌지를 표현한 2차원배열. 컴퓨터i와 컴퓨터j가 연결되어있다면 computers[i][j]는 1이고 연결되어있지 않으면 0이다. 제한사항 1 더보기
프로그래머스 - 등굣길 문제 물 웅덩이가 없는 칸만으로 학교에 갈 수 있는 경로의 수를 구하라 입력값 m: 가로 길이 n: 세로 길이 puddles: 물에 젖은 지역들 좌표 제한사항 1 더보기
프로그래머스 - 정수 삼각형 문제 삼각형 꼭대기에서부터 바닥까지 이동할 때, 숫자의 합이 가장 큰 경우를 찾아라. 아래칸으로 이동할 때는 대각선 방향으로 왼쪽 한 칸 또는 오른쪽 한 칸으로만 이동이 가능하다. 제한사항 1 더보기
프로그래머스 - 타일 장식물 문제 앵무조개의 나선 모양처럼 생긴 타일이 붙어있다. 타일이 N개일때 둘레의 길이를 구하라. 제한사항 1 2*x + 2*y function solution(N) { let a = 0, b = 1 while (--N) { [a, b] = [b, a + b] } return getPerimeter(b, a + b) } 시간복잡도: O(N) 공간복잡도: O(1) 더보기