본문 바로가기
반응형

알고리즘/완전탐색38

[백준][Python] 1059번 좋은 구간 1059번: 좋은 구간 [9, 10], [9, 11], [9, 12], [10, 11], [10, 12] www.acmicpc.net 코드 l = int(input()) s = list(map(int,input().split())) n = int(input()) s.sort() if n in s: print(0) else: cnt = 0 min_n = 0 for i in s: if i n: max_n = i break for i in range(min_n+1,max_n-1): for j in range(i+1,max_n): if i = n: cnt += 1 print(cnt) 설명 주어진 집합에서 n보다 작은 수들 중에 가장 큰 수를 min_n이라 하고 n보다 .. 2022. 7. 14.
[백준][Python] 2635번 수 이어가기 2635번: 수 이어가기 첫 번째 수가 주어진다. 이 수는 30,000 보다 같거나 작은 양의 정수이다. www.acmicpc.net 코드 def check(fir,sec): n_list = [fir,sec] while 1: num = fir - sec if num < 0: break n_list.append(num) fir = sec sec = num return n_list fir = int(input()) sec = fir max_list = [] while 1: cnt = check(fir,sec) if len(max_list) < len(cnt): max_list = cnt sec -= 1 if sec < 0: break print(len(max_list)) print(*max_list) 설명 .. 2022. 7. 14.
[백준][Python] 14697번 방 배정하기 14697번: 방 배정하기 정보 초등학교 6학년 여학생들은 단체로 2박 3일 수학여행을 가기로 했다. 학생들이 묵을 숙소에는 방의 정원(방 안에 있는 침대 수)을 기준으로 세 종류의 방이 있으며, 같은 종류의 방들이 여러 www.acmicpc.net 코드 a,b,c,student = map(int,input().split()) flag = 0 for i in range(student//a + 1): for j in range(student//b + 1): for k in range(student//c + 1): if a*i + b*j + c*k == student: flag = 1 break if flag == 1: print(1) else: print(0) 설명 정원이 a명인 방은 (학생수) // a개.. 2022. 7. 13.
[백준][Python] 1436번 영화감독 숌 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 코드 n = int(input()) num = 666 cnt = 0 while 1: if '666' in str(num): cnt += 1 if cnt == n: print(num) break else: num += 1 설명 666 부터 숫자를 차례대로 1씩 증가시키면서 string 형으로 변환한 후 '666'이 여기에 포함되는지 확인했다. 포함되면 cnt를 1 증가시켰고 cnt 값이 구하려는 n번째 영화이면 해당 숫자를 출력시켜줬다. 2022. 7. 13.
반응형