본문 바로가기

ALGORITHM/백준67

[BOJ/PYTHON] 1000. A+B 백준 문제 링크: https://www.acmicpc.net/problem/1000 문제 요약 두 정수 A와 B를 입력받은 다음, A+B를 출력 핵심 아이디어 그대로 하면 되는 브론즈 문제이다. 풀이 # bronze5-1000. A+B import sys input = sys.stdin.readline a, b = map(int, input().split()) print(a + b) 실행 시간 메모리 31256KB, 시간 44ms (python3) 2023. 8. 17.
[BOJ/PYTHON] 11170. 0의 개수 백준 문제 링크: https://www.acmicpc.net/problem/11170 문제 요약 N부터 M까지의 수들에 적힌 0들을 세기 핵심 아이디어 0을 세기 위해서 해당 수를 문자열로 바꿔줬고, 문자로 바꾼 숫자를 하나하나 보면서 0이 나오면 카운트를 올려주면 된다. 풀이 # bronze1-11170. 0의 개수 import sys input = sys.stdin.readline t = int(input()) for _ in range(t): n, m = map(int, input().split()) cnt = 0 for i in range(n, m + 1): for x in str(i): if x == "0": cnt += 1 print(cnt) 실행 시간 메모리 31256KB, 시간 4404ms.. 2023. 7. 27.
[BOJ/PYTHON] 15665. N과 M (11), 15666. N과 M (12) 백준 문제 링크: https://www.acmicpc.net/problem/15665 문제 요약 N개의 자연수 중에서 M개를 고른 수열 수열은 사전 순으로 증가하는 순서로 출력 같은 수를 여러 번 골라도 된다. 중복되는 수열을 여러 번 출력하면 안됨 핵심 아이디어 9번 문제 풀이에서 if i not in array 를 지워줬다. 풀이 # silver3-15665. N과 M (11) import sys input = sys.stdin.readline n, m = map(int, input().split()) nums = list(map(int, input().split())) nums.sort() array = [] def back(): if len(array) == m: for i in array: pr.. 2023. 7. 27.
[BOJ/PYTHON] 15664. N과 M (10) 백준 문제 링크: https://www.acmicpc.net/problem/15664 문제 요약 N개의 자연수 중에서 M개를 고른 수열 수열은 사전 순으로 증가하는 순서로 출력 고른 수열은 비내림차순이어야 한다. 중복되는 수열을 여러 번 출력하면 안됨 핵심 아이디어 9번 문제에서 비내림차순 조건이 추가되었다. 인덱스를 백트래킹 함수가 인자로 받고, 인덱스 기준부터 for문을 돌리면 된다. 풀이 # silver3-15664. N과 M (10) import sys input = sys.stdin.readline n, m = map(int, input().split()) nums = list(map(int, input().split())) nums.sort() array = [] def back(idx): i.. 2023. 7. 27.
[BOJ/PYTHON] 15663. N과 M (9) 백준 문제 링크: https://www.acmicpc.net/problem/15663 문제 요약 N개의 자연수 중에서 M개를 고른 수열 수열은 사전 순으로 증가하는 순서로 출력 중복되는 수열을 여러 번 출력하면 안됨 핵심 아이디어 백트래킹 문제이다. 마지막 번호를 저장해놓고 그거랑 일치하는지 중복체크를 하면 된다. 풀이 # silver2-15663. N과 M (9) import sys input = sys.stdin.readline n, m = map(int, input().split()) nums = list(map(int, input().split())) # 마지막거랑 일치하는지만 중복 체크하면 됨 nums.sort() array = [] def back(): if len(array) == m: fo.. 2023. 7. 27.
[BOJ/PYTHON] 15657. N과 M (8) 백준 문제 링크: https://www.acmicpc.net/problem/15657 문제 요약 N개의 자연수 중에서 M개를 고른 수열 수열은 사전 순으로 증가하는 순서로 출력 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 핵심 아이디어 인덱스 백트래킹을 해준다. 백트래킹하는 수를 담은 배열에는 실제 값을 넣어주고, 인덱스 기준으로 백트래킹하면 된다. 풀이 # silver3-15657. N과 M (8) import sys input = sys.stdin.readline n, m = map(int, input().split()) nums = list(map(int, input().split())) nums.sort() array = [] def back(i): if len(array.. 2023. 7. 27.