조합
조합, combination
- 서로 다른 n개의 원소 중 r개를 순서 없이 골라낸 것
- nCr = n! / ((n-r)! * r!)
- nCr = nPr에서 순서 의미 x
- 중복 경우의 상황 제거.
- nCr = n-1Cr-1 + n-1Cr
- nC0 = 1
반복문으로 작성.
재귀호출로 작성.
알고리즘
과제.
Bj 1244번 - 스위치 켜고 끄기
- 남자, 여자 따로.
- 여자 한 번에 바꾸지 말고 그때그때 바꾸기.
- 좀 더 간략히 적는 연습. 가독성 생각.
Bj 11659번 - 구간 합 구하기 4
- 구간 합 배열을 따로 만들어서.
Bj 11660번 - 구간 합 구하기 5
- 구간 합의 합의 배열 따로 만들어서.
- arrSumSum..ㅋㅋㅋ
Bj 2309번 - 일곱 난쟁이
- 전체 합에서 100을 빼서 범인 찾기.
- 정렬 간단 1 빠른 1 알아두기.
SWEA 1954번 - 달팽이 숫자
- dx, dy
- 방향 정해서.
- 재귀로 풀 수도...
+주사위 던지기..
-----
스터디.
Bj 2346번 - 풍선 터뜨리기
- 배열 이름 비슷하게 지으면 잘못 써도 찾기 힘듬..
- 덱, deque 사용.
Bj 10799번 - 쇠막대기
- 레이저가 뚫고 나간 막대가 아닌 잘린 토막의 개수
- 이므로 막대 종료시에 ans++
알고 스터디
sb.delete(sb.length()-2, sb.length());
-> StringBuilder에서 startIdx에서 endIdx 까지 삭제.
char[] arr = br.readLine().toCharArray();
-> readLine()으로 읽어와서 .toCharArray()로 Char 배열에 저장.
collection 활용.....
Bj 2504번 - 괄호의 값
- 괄호가 추가되면 mul에 곱하고 닫으면 다시 나눠준다.
- 그러면 알맞는 가중치를 곱해줄 수 있으니 더하기만 하면 된다.
-> 분배법칙 이용.
idx와 가중치 같이 넣기 위해 Class 만들기.
중복 값 제거
- Set -> new HashSet<>();
- set 사용법 알기.
-----
다음 주 예습.
Map, Set, Priority Queue