Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 구글 OAuth login
- Python
- 디자인 패턴
- 전략패턴 #StrategyPattern #디자인패턴
- 빈 충돌
- jwt
- 빈 조회 2개 이상
- 디자인패턴
- 파이썬
- JavaScript
- @FeignClient
- 코딩테스트 준비
- 99클럽
- Spring multimodule
- 개발자 취업
- 항해99
- spring batch 5.0
- TiL
- 1주일회고
- DesignPattern
- 취업리부트코스
- 커스텀 헤더
- 인프콘 2024
- 단기개발자코스
- jwttoken
- 프로그래머스
- infcon 2024
- KPT회고
- 개발자부트캠프추천
- 프로그래머스 이중우선순위큐
Archives
- Today
- Total
m1ndy5's coding blog
[수학] 백준 1182번 부분수열의 합 with python 본문
https://www.acmicpc.net/problem/1182
n, s = map(int, input().split())
lst = list(map(int, input().split()))
pair = []
cnt = 0
def btracking(start):
global cnt
if sum(pair) == s and len(pair) > 0:
cnt += 1
for i in range(start, n):
pair.append(lst[i])
btracking(i + 1)
pair.pop()
btracking(0)
print(cnt)
저번에 풀었던 n과m과 다르게 [1, 3]과 [3, 1]은 똑같다고 보는 중복을 허용하지 않는 combination문제였다.
코드의 차이점은 중복을 허용했던 permutation은 반복문이 처음부터 돌지만 중복을 허용하지 않는 combination은 반복문을 특정 숫자 이후에만 돌아가게 함으로써 그 이전 숫자들은 다시 들어오지 못하게 하였다.
'알고리즘 with python > 수학' 카테고리의 다른 글
[수학] 백준 15650번 N과 M(2) with Python (0) | 2023.03.12 |
---|---|
[수학] 백준 6603번 로또 with Python (0) | 2023.03.12 |
[수학] 백준 6588번 골드바흐의 추측 with 파이썬 (0) | 2023.03.09 |
[수학] 백준 9020번 골드바흐의 추측 with python (0) | 2023.03.07 |
[수학] 백준 2609번 최대공약수와 최소공배수 with python (유클리드 호제법) (0) | 2023.03.01 |