본문 바로가기
728x90

오블완7

프로그래머스 괄호 회전하기 C++ () [] {} 는 모두 올바른 괄호 문자열이며, 문자열 s 가 주어졌을때s를 x칸 만큼 회전을 하였을 때 s가 올바른 문자열이 되게 하는 x의 개수를 return하는 문제이다. 올바른 괄호만 모여있는 문자열을 찾기 2024. 11. 21.
프로그래머스 연속 부분 수열 합의 개수 C++ 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇가지인지 반환하는 문제이다.  원형으로 된 수열  벡터 elements 가  주어지고길이 1부터 시작해 elements의 길이만큼의 연속되는 수열의 합을 구한다. 길이가 1 이라고 가정하였을떄는 각 원소의 값을 저장하면 될것이고길이가 2라면,   벡터의 0번째 + 1번째,   1 + 2,   2 + 3,  3 + 4,  4 + 5 ...... end + 0 이런식으로 되겠다(원형이기 때문)즉 길이가 3일 경우에는    0 + 1,  1 + 2,  2 + 3, .....   (end - 1) + end + 0,   end + 0 + 1 이렇게 되겠다. 경우의 수를 구하는 문제로 중복된값은 필요가없고, 순서대로 구할 필요도.. 2024. 11. 20.
프로그래머스 예상 대진표 C++ 토너먼트 식으로 줄어들며a와 b가 만나게되는 라운드를 리턴하는 문제 예시처럼 입력이 8 a,b가 4 7 이라고했을때 1 2 3 4 5 6 7 8 1    4    5    7    4          7          만나는 라운드이런식으로 되는데 참가자가 없어지면 우승자가 번호를 먹기에1 2 3 4 5 6 7 8  1    2   3    4     1         2          1이런식으로도 표현이 가능하다그렇기에 해당 비트 연산자를 통해 a와 b를 둘로 나누다보면같은 수가 되었을 경우에 만나는 것을 알 수 있고 이것을 이용해서 문제를 풀었다. 2024. 11. 18.
프로그래머스 구명보트 C++ 무인도에 갇혀있는 사람들을 구명보트를 이용해 구출보트는 최대 두명 탑승 가능하며, 무게제한이 있다.탈출해야 하는 사람과 무게 제한은 people과 limit을 매개변수로 받고모든 사람을 구할경우 가장 적은 보트 이용횟수를 구하는 문제이다  무게제한은 항상 사람들의 몸두게 중 최대값 보다 크게 주어져 탈출 못하는 사람은 없다 작은 숫자는 높은 숫자부터 비교하여 같이 탈 수 있으면 타는것이 효율적이라 판단하였음(다른 방법 있을 수도 있음)그렇기에 우선 오름차순 정렬을 해주고, 반복문을 통해 가벼운 사람을 태우고 가장 무거운 사람과 더한 값을 limit과 비교를 통해태울 수 있는 사람을 태운다. 2024. 11. 14.
728x90