본문 바로가기
반응형

전체 글379

[백준/Python] Silver I #2531 회전 초밥 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 문제 회전 초밥 음식점에는 회전하는 벨트 위에 여러 가지 종류의 초밥이 접시에 담겨 놓여 있고, 손님은 이 중에서 자기가 좋아하는 초밥을 골라서 먹는다. 초밥의 종류를 번호로 표현할 때, 다음 그림은 회전 초밥 음식점의 벨트 상태의 예를 보여주고 있다. 벨트 위에는 같은 종류의 초밥이 둘 이상 있을 수 있다. 새로 문을 연 회전 초밥 음식점이 불경기로 영업이 어려워서, 다음과 같이 두 가지 행사를 통해서 매상을 올리고자 한.. 2023. 1. 28.
[백준/Python] Silver I #2156 포도주 시식 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 문제 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고민하.. 2023. 1. 27.
[백준/Python] Bronze II #17946 피자는 나눌 수록 커지잖아요 17946번: 피자는 나눌 수록 커지잖아요 새학기를 맞아 다이어트 중인 예찬이는 힘든 시간을 보내고 있다. 다이어트 중 너무 배가 고팠던 예찬이는 피자를 시켜 먹기로 한다. 피자 맛을 오래 느끼고 싶었던 예찬이는 피자를 k번 (1 ≤ k www.acmicpc.net 문제 새학기를 맞아 다이어트 중인 예찬이는 힘든 시간을 보내고 있다. 다이어트 중 너무 배가 고팠던 예찬이는 피자를 시켜 먹기로 한다. 피자 맛을 오래 느끼고 싶었던 예찬이는 피자를 k번 (1 ≤ k ≤ K) 의 칼질로 조각 낸 뒤, 조각을 하나하나 음미하려고 계획했다. 하지만 기다리던 피자가 도착하고 나서야 예찬이는 본인에게 칼이 없다는 사실을 알게 되었다. 때마침 칼이 있던 예찬이의 동기 윤희는 예찬이에게 다음과 같은 제안을 한다. “칼을.. 2023. 1. 27.
[백준/Python] Silver IV #1049 기타줄 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 문제 Day Of Mourning의 기타리스트 강토가 사용하는 기타에서 N개의 줄이 끊어졌다. 따라서 새로운 줄을 사거나 교체해야 한다. 강토는 되도록이면 돈을 적게 쓰려고 한다. 6줄 패키지를 살 수도 있고, 1개 또는 그 이상의 줄을 낱개로 살 수도 있다. 끊어진 기타줄의 개수 N과 기타줄 브랜드 M개가 주어지고, 각각의 브랜드에서 파는 기타줄 6개가 들어있는 패키지의 가격, 낱개로 살 때의 가격이 주어질 때, 적어도 N개를 사기 위해 필요한 돈의 수를 .. 2023. 1. 27.
[백준/Python] Silver III #10974 모든 순열 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력 첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다. 풀이 n = int(input()) a = [i for i in range(1,n+1)] ans = [] def backtracking(depth): if depth == n: print(" ".join(map(str,ans))) return for i in range(n): if a[i] in ans: continue ans.. 2023. 1. 26.
반응형