본문 바로가기

경우의 수2

[구현 / c++] 하루 중 3 이 하나라도 들어간 모든 시각의 경우의 수 자리수 별 가능한 숫자의 경우의 수를 곱하고 더하여 답을 찾으려 하였으나 생각보다 복잡해서 오류가 나고 문제 푸는데 시간을 초과하였다. 결국 하루는 86400 초이므로 생각보다 문제의 가능한 최대 경우의 수가 적으니 완전 탐색이 더 잘맞고 간단하게 코드를 짤 수 있는 문제였다 #include using namespace std; // 각 시각의 숫자를 모두 체크하는 것은 따로 함수를 만들어 구현하는 것이 편하다 // 각 시각의 자리수마다 3이 하나라도 있는지를 or로 체크하자 bool check(int i, int j, int k){ if(i%10==3 || j%10==3 || j/10==3 || k%10==3 || k/10==3){ return true; } return false; } int main.. 2022. 6. 21.
백준 9375/c++ )) 패션왕 신해빈 조합을 사용하여 입을 수 있는 의상의 경우의 수를 구하는 문제이다 의상 하나를 입력 시 의상의 이름 + " " + 의상의 종류 로 입력이 되기 때문에 공백을 전 후로 입력을 두번 받는셈이다 입력은 두개지만 의상의 이름은 필요없으므로 의상의 종류만으로 경우의 수에 고려한다 그 의상을 착용하지 않은 경우도 그 의상의 종류 중 하나로 더하여 계산한다 map을 통해 의상의 종류를 key값으로, 종류별 개수를 value값으로 저장하고 종류별 착용가능 개수를 모두 곱해서 (가지고 있는 종류+1미착용) 경우의 수를 구한다 그 중 모든 종류를 미착용한 알몸상태는 제외하니 -1 을 하여 최종 경우의 수를 구한다 그것을 테스트 케이스만큼 반복하는 문제이다 주의사항 map을 대입시 auto 자료형을 사용해야 된다 종류개수에.. 2022. 6. 15.