h개의 가로줄과 n개의 세로선을 갖고 있는 사다리가 사다리타기를 통하여 각 세로선이 사다리를 타고 끝까지 내려갈때 세로선이 처음 위치한 곳과 같은 번호로 내려와야 한다.(m개의 가로선은 원래 있던 선이다.)원래 있던 사다리는 제거하지 않고 원래 있던 사다리 가로선에서
사무실의 위치를 나태나는 격자안에 cctv가 설치되어 있고 cctv에 의해 감시 받지 않는 구역의 크기의 최솟 값을 구하는 문제.(단, cctv는 90도 회전이 가능하고 벽을 지날 수 없다.)각 cctv를 회전하여 감시를 할 때 0의 개수를 최소로 나온 값을 출력하는
맨 위층부터 아래층으로 내려올때 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라.꼭대기 7에서 가장 밑줄로 4 5 2 6 5 가로까지 내려와서 가장 큰 수인 것을 출력하는 것이다. 7 3 8 8 1 0 2 7
다이나믹 프로그래밍 > 동적할당과는 다르게 프로그램 실행 도중이라는 의미가 아닌 메모리 공간을 조금 더 사용하여서 시간 복잡도를 줄 일 수 있는 방법이 다이나믹 프로그래밍 이라 한다. Top Down 큰 문제를 작은 문제로 해결 수 있을 때, 문제를 쪼개는
LINK BOJ : 동전2 문제 n가지 종류의 동전이 있다. 이 동전들을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그러면서 동전의 개수가 최소가 되도록 하려고 한다. 각각의 동전은 몇 개라도 사용할 수 있다. 요약설명 n개의 동전으로 k원을
LINKBOJ : 동전1n가지 종류의 동전이 있다. 각각의 동전이 나타내는 가치는 다르다. 이 동전을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그 경우의 수를 구하시오. 각각의 동전은 몇 개라도 사용할 수 있다.사용한 동전의 구성이 같은데, 순서만
LINK10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오.합이 s가 되도록 무작위로 수를 뽑아 합이 S가 되는 것이 아닌 연속
LINK루트가 존재하는 트리가 주어지고 두 정점간의 관계를 통해 두 정점사이에 가장 가까운 공통 부모를 찾아서 출력하는 프로그램을 작성하는 것이다.a,b 로 입력의 관계가 주어질 때, a를 상위 노드 ,b를 하위 노드로 정의한다.두 노드의 정보를 입력한다.(부모 노드가
LINK도현이의 집 n개에 집들에 C개 만큼 공유기를 설치하려 한다.(단 집에 위치가 중복되는 경우는 없다.)공유기들 간의 거리를 최대로 할 수 있게 설치해야한다.C개를 최대한 멀리 설치하는 거리가 몇인지 출력하는 문제이다.BinarySearch 사용.선형 탐색으로 n
LINK좌측 상단에서 시작하여 보드판을 상하좌우로 이동하여 최대 몇칸을 이동할 수있는지 출력하는 것.단, 이미 지낫던 알파벳을 칸을 다시 지나가지 못한다.DFS를 적용하였다. (한번에 갈 수 있는 최대 칸수 이므로 BFS는 안될 것 이다.)중요한것은 탐색 후에 밟아왔던
LINK지민이는 3명의 플레이어에게 카드를 섞는 방식에 따라 해당 플레이어들에게 카드를 나누어주려고 한다. 섞는 방식을 통해 나누어줄 때 요구하는 수열과 똑같은 결과가 나오는데 까지 나오는 경우의 수를 출력하는 것. 만약 원하는 결과가 나오지 않는다면 -1.💥 i번
LINK탐사선의 위치에서 시글널을 보내어(위,아래,왼쪽,오른쪽)서 전파될 수 있는 시간의 최댓값을 출력하는 프로그램을 작성하는 것.단, "\\" || "/" 을 만나면 시그널은 방향을 전환한다.※ 무한히 시그널이 보내질 경우 "Voyager"를 출력한다.char 2차원
LINK가로선을 선택하는 기준은 뽑기,안뽑기 두가지 경우이다.오른쪽은 사다리가 있으면 -1 없으면 1을 기재함.(만약 해당 좌표의 colum이 n-1 이면 통과)=오른쪽(-1) =왼쪽(+1)로 표시해놨기 때문이다.재귀 형식의 함수에서 기저 사례 조건을 cnt>3 일 때
LINK백트래킹 문제이다.나쁜 수열을 이루는지 안이루는지 조건을 두어 해당 다음으로 진행 할 수 없도록 한다.완전탐색을 한다면 n=80자리 이니까3^80 번을 탐색하는 것으로 시간초과가 날 것이다.나쁜 수열인지 판단하기 위한 조건이 조금 까다로웠다.2자리수가 만들어 질
LINK주어진 N을 반 나누어 팀을 결성하고 팀이 이루어진 번호대로 2차원배열에 능력치를 가지고 한팀에 이루어진 팀의 능력치와 다른 한팀의 능력치를 비교하여 서로 차이가 제일 작게 나오게 하는 경우 팀 능력치의 차이가 최소가 된 것을 구하는 문제이다.팀은 딱 2팀으로
LINK각 퀸 서로가 공격할 수 없는 위치에 있을 경우의 수를 구하는 문제이다.(퀸은 자신이 있는 칸을 기준으로 상하좌우 대각선 상에 있는 말들을 모두 잡을 수 있다.)<상 하 좌 우 대각선 1칸이 아닌 여러칸도 갈수 있다.>완전탐색은 끝까지 들어가보고 그 값을
LINK|A0 - A1| + |A1 - A2| + ... + |AN-2 - AN-1|절댓값으로 각 구간의 차이를 최대가 되게 할 때는 값이 얼마인지 구하는 문제.첫번째 접근20 15 10 8 4 120-1 =191-15 =1415-4 = 114-10 = 6 10-8 =
LINK이차원 배열의 각 지점은 "나라" 라고 비유하고인접한 두 나라를 비교하였을떄, 입력에서 주어진 L이상 ,R명 이하라면 두나라는 연합을 맺어 인구수를 공유한다. 그리고 L이상 ,R명이상이 아니면 인구수를 공유하지 못한다.주어진 L,R 조건으로 인구수가 공유된 나라
n\*n 크기의 배열에 선생님 그리고 학생들이 표시되어 있다.선생님을 감시카메라로 비유하여 선생님의 보고 있는 방향 상 하 좌 우 에 학생들이 있으면 안된다. 또는 (장애물을 3개를 설치하여)장애물 뒤에 학생들이 숨어 들키지 않게 하는 방법이 있으면 "YES" 아니면