일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 백엔드
- 데이터베이스
- SQL
- recoverability
- 운영체제
- 시스템프로그래밍
- 김영한
- vite
- 운영체제와 정보기술의 원리
- B tree 데이터삽입
- 반효경
- 코딩애플
- 프로세스 주소 공간
- 온디바이스AI
- CPU 스케줄링
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 트랜잭션
- 시그널 핸들러
- 쉬운코드
- 코딩테스트 [ ALL IN ONE ]
- 커널 동기화
- 갤럭시 S24
- 개발남노씨
- 인터럽트
- Extendable hashing
- concurrency control
- Git
- SDK
- 네트워크
- 쉬운 코드
- Today
- Total
목록백준 문제/백트래킹 (12)
티끌모아 태산

https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 설명 핵심 아이디어 백트래킹 같은 수를 여러 번 골라도 된다. 방문처리 안해도 된다. 고른 수열은 비 내림차순이어야 한다. 비 내림 차순으로 풀기 위해서 start 변수를 넣어준다. 코드 구현 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = sorted(list(map(int, input().split(..

https://www.acmicpc.net/problem/15665 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 설명 핵심 아이디어 백트래킹 같은 수를 여러 번 골라도 된다. (1,1), (7,7) (9,9) 방문처리를 안해도 된다. remember 는 중복 수열을 방지하기 위함이다. 코드 구현 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = sorted(list(map(int, input().split()))) ..

https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 설명 핵심 아이디어 백트래킹 고른 수열은 비내림차순이 되도록 해야한다. 오름차순으로 수열을 방문하기 위해 dfs에 파라미터로 start를 추가해 주어야한다. 코드 구현 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = sorted(list(map(int, input().split()))) # 방문처리로 본..

https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 설명 길이가 M인 수열을 모두 구하는 프로그램. N개의 자연수 중에서 M개를 고른 수열. 핵심 아이디어 백트래킹 중복되는 수열이 없도록 확인하기 위해 remember 변수 활용! 코드 구현 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = sorted(list(map(int, input().split()))..

https://www.acmicpc.net/problem/15657 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 설명 핵심 아이디어 백트래킹 같은 수를 여러번 골라도 된다. 고른 수열은 비내림차순. 코드 구현 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = list(map(int, input().split())) data.sort() arr = [] def dfs(start): if len(arr) == m:..

https://www.acmicpc.net/problem/15656 15656번: N과 M (7) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 설명 핵심 아이디어 백트래킹 같은 수를 여러 번 골라도 되기 때문에 for 문에서 조건문을 제거해준다. 코드 구현 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = list(map(int, input().split())) data.sort() arr = [] def dfs(): if len(arr) ..

https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 설명 핵심 아이디어 백트래킹 고른 수열은 오름 차순으로 start 파라미터 필요 코드 구현 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = list(map(int, input().split())) data.sort() arr = [] def dfs(start): if len(arr) == m: pr..

https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 설명 핵심 아이디어 백트래킹 N개의 자연수는 모두 다른 수 이기 때문에 조건문을 넣어줘야 한다. 수열은 사전 순으로 증가해야 하기 때문에 정렬 시켜 주었다. 코드 구현 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = list(map(int, input().split())) data.sort() ar..

https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 설명 핵심 아이디어 백트래킹 현재 dfs의 for문에서 넣은 숫자보다 같거나 커야한다. (비내림차순). 파라미터로 넘겨주어서 체크한다. 파라미터로 받은 숫자보다 같거나 커야하기 때문에 start이상 n이하. 수를 더해 주고 그 더한 수를 파라미터로 가지고 dfs 호출. 원래 상태로 돌리기 위해 pop 코드 구현 import sys input = sys.stdin.readline n, m = ma..

https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 설명 자연수 N과 M이 주어졌을 때, 다음 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램 작성. 1부터 N까지 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 핵심 아이디어 백트래킹 이 문제는 15649와 동일하지만, 중복을 허용하기 때문에, for 문에서 중복을 확인하는 if문이 삭제 되었다. 코드 구현 import sys input = sys.stdin.readl..