본문 바로가기
반응형

알고리즘/완전탐색38

[백준][Python] 5671번 호텔 방 번호 5671번: 호텔 방 번호 선영이는 집 호수에 반복되는 숫자가 있는 경우에는 그 집에 사는 사람에게 불운이 찾아온다고 믿는다. 따라서, 선영이는 838호나 1004호와 같이 한 숫자가 두 번 이상 들어있는 집에는 절대 살지 www.acmicpc.net 코드 import sys while 1: a = sys.stdin.readline().rstrip() if not a: break n, m = map(int,a.split()) cnt = 0 for i in range(n,m+1): dic = {} flag = 0 for j in str(i): if j in dic: flag = 1 break else: dic[j] = 1 if flag == 0: cnt += 1 print(cnt) 설명 입력받은 수를 st.. 2022. 7. 26.
[백준][Python] 5883번 아이폰 9S 5883번: 아이폰 9S 사람 9명이 줄을 서있고 각 사람이 원하는 용량의 크기는 2, 7, 3, 7, 7, 3, 7, 5, 7 이다. 용량 3을 원하는 사람을 줄에서 빼버리면, 줄은 2, 7, 7, 7, 7, 5, 7가 되고, 7을 원하는 사람이 4명이 연속된 구간이 www.acmicpc.net 코드 import sys n = int(input()) b_list = [0]*n for i in range(n): b_list[i] = int(sys.stdin.readline()) b_set = set(b_list) max_cnt = 1 for b in b_set: cnt = 1 num = -1 for i in range(n): if b_list[i] != b: if num == -1: num = b_lis.. 2022. 7. 26.
[백준][Python] 15779번 Zigzag 15779번: Zigzag 어떤 수열에서, 연속된 3개의 수를 보았을 때, 그 수가 단조증가 수열이거나, 단조감소 수열인 경우가 없으면 이 수열을 "지그재그 수열" 이라고 말한다. 좀 더 정확하게는, 길이 N의 수열 A가 모 www.acmicpc.net 코드 n = int(input()) n_list = list(map(int,input().split())) max_l = 2 cnt = 2 for i in range(n-2): if n_list[i] = n_list[i+2]: cnt = 2 else: cnt += 1 max_l = max(max_l,cnt) print(max_l) 설명 지그재그 수열을 만족하지 않는 경우 최소 수열의 길이는 2이다. i, i+1, i+2가 차례대로 증가하거나 감소하는 경우.. 2022. 7. 25.
[백준][Python] 16439번 치킨치킨치킨 16439번: 치킨치킨치킨 첫 번째 줄에 고리 회원의 수 N (1 ≤ N ≤ 30) 과 치킨 종류의 수 M (3 ≤ M ≤ 30) 이 주어집니다. 두 번째 줄부터 N개의 줄에 각 회원의 치킨 선호도가 주어집니다. i+1번째 줄에는 i번째 회원의 선 www.acmicpc.net 코드 from itertools import combinations import sys n,m = map(int,input().split()) a_list = [] max_t = 0 for _ in range(n): a_list.append(list(map(int,sys.stdin.readline().split()))) comb = list(combinations(range(m),3)) for a,b,c in comb: total .. 2022. 7. 22.
반응형