728x90 프로그래머스 C++149 프로그래머스 스티커 모으기 C++ N개의 스티커가 원형으로 연결되어 있다. 몇장의 스티커를 뜯어내어, 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록하려고 한다, 스티커는 한 장을 뜯으면 양쪽으로 인접해 있는 스티커는 사용할 수 없다.이때 뜯어낸 스티커의 숫자 합이 최고가 되는 값을 리턴하는 문제 DP를 이용해 최적의 해를 찾는 문제로시작은 1로 시작하는 경우와 2로 시작하는 경우 두가지가 있다1로 시작해서 4를 넣는것과, 3 5 이런식으로 규칙적으로 가는것이 더 큰지 max함수에 넣어 비교를 하며합이 가장 큰 최적의 해를 찾는다. 2025. 1. 24. 프로그래머스 마법의 엘리베이터 C++ 마법의 세계에 사는 민수는 아주 높은 탑에 살고있는데탑이 너무 높아 마법의 엘리베이터를 만들었다.해당 엘리베이터는 -1, +1, -10, +10 -100... 10의 제곱의 절대값 범위 버튼만 있다버튼을 누를때는 마법의 돌을 소모해야하고현재 층 수에 버튼을 더한 값이 0보다 작으면 움직이지 않는다.민수가 현재 있는 층이 storey int형 매개변수로 주어졌을때0층으로 가기 위해 필요한 최소의 마법의 돌 개수를 리턴하는 문제 현재 자릿수를 검사하여 5 이상이거나, 5와같고 다음 자릿수가 5이상이면 올라가는 쪽이 돌을 최소로 사용할 수있고,반대의 경우는 아래로 내려가는것이 최소로 사용하는 방법이다. storey의 값을 나누어준 몫이 현재 자릿수이고10으로 나눈다음 10의 몫으로 계산하면 다음 자릿수를 구.. 2025. 1. 22. 프로그래머스 연속된 부분 수열의 합 C++ 비내림차순 오름차순과 비슷하며, 값이 같을 수도 있는 오름차순이라고 보면 된다. 조건에 맞는 부분 수열을 리턴하는 문제로기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 한다.부분 수열의 합은 k이며, 합이 k인 부분 수열이 여러개 라면 길이가 짧은 수열을 찾는다.길이가 짧은 수열이 여러 개라면, 시작 인덱스가 작은 수열을 찾아서시작 인덱스와 마지막 인덱스를 담아서 리턴해라.수열을 나타내는 정수배열 sequence와 부분 수열의 합을 나타내는 정수 k가 매개변수로 주어진다. 2025. 1. 21. 프로그래머스 기지국 설치 C++ n개의 아파트에 station 배열에 기지국이 설치된 아파트의 번호가 주어지고,설치된 기지국을 변경, 추가 설치할 계획이다. 변경할 기지국의 전파 범위는 w 이며, 이때 모든 아파트에 전파가 닿도록 기지국을 추가적으로 설치해야 하는 개수를 리턴 처음 아파트 부터 차례로 검사하며, 설치된 기지국의 - w(닿는 범위)를 알아내고전파가 닿지 않는 구역의 범위를 구하여 기지국의 범위를 나누어주면 해당 구역에 몇개를 설치해야 전 구역에 전파가 닿는지 알 수 있다. 2025. 1. 21. 이전 1 ··· 3 4 5 6 7 8 9 ··· 38 다음 728x90