인하대 3

[백준/C++] 25212번 조각 케이크

💡첫번째 아이디어 이번 문제는 모든 경우의 수를 다 생각해봐야 할 것 같았다. DFS를 이용한 모든 조합의 경우를 다 탐색해보는 알고리즘으로 구현해보았다. (구글링 참고했음,,) 일단 nCr에서 n은 문제에서 주어지고, r은 bound 변수로 반복문을 통해 1~n까지 다 DFS를 돌게 된다. DFS 함수는 시작 인덱스인 idx와 현재까지 선택된 케이크의 개수를 나타내는 cnt가 parameter로 전달되고 cnt가 bound가 같아지면 check를 통해 선택된 수들의 역수(1/x)를 total변수에 더해주고 total이 0.99보다 크고 1.01보다 작으면 경우의 수를 나타내는 ans를 ++해준다. DFS의 반복문은 예시를 들어보자. n = 4, bound = 2 일때 DFS(0,0)이 실행되면 idx ..

백준/C++ 2022.07.03

[백준/C++] 25215번 타이핑

💡첫번째 아이디어 소문자대문자로 바뀔때마다 끊어서 문자열의 개수를 센 배열을 만들었다. 예를 들어 iLoveINHA의 경우 1(i) / 1(L) / 3(ove) / 4(INHA)로 만들고 그 사이에 별과 마름모가 들어가는 규칙을 찾아봤다. 예제 1) iLoveINHA => 1 1 * 3 ◆ 4 예제 2) ConquerThePlanet => 1 * 6 1 * 2 1 * 5 같은 크기별로 나눈 문자열의 첫번째가 대문자인지 소문자인지 확인해서 대문자면 숫자 배열의 홀수번째가 대문자, 소문자면 숫자 배열의 짝수번째가 대문자이다. 따라서 홀/짝에 따라 대문자/소문자를 구분한다. 현재 마름모가 활성화되었는지 같은 크기의 문자가 몇개인지 확인 1. 활성화 1.1 대문자 (1개orN개) - 그냥 입력 1.2 소문자 (..

백준/C++ 2022.06.29
728x90