목록코딩 테스트 (121)
공부 기록장
https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 코드 from itertools import permutations n = int(input()) num = list(map(int, input().split())) per = permutations(num, n) result = [] for p in per: eq = 0 for i in range(len(p)-1): eq += abs(p[i] - p[i+1]) result.append(eq) print(max..
https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 from itertools import permutations n = int(input()) arr = [i for i in range(1, n+1)] per = list(permutations(arr, n)) for p in per: print(*p) 순열 라이브러리를 활용해서 풀었다. 리스트 뿐만 아니라 튜플도 *표시를 통해 숫자를 띄어쓰기로 구분하여 한 줄에 간편하게 출력할 수 있다. 다른 풀이 순열 라이브러리를 활용하지 않고 백트래킹을 활용한 풀이도 있었다. n = int(..
https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 코드 from itertools import combinations n, s = map(int, input().split()) seq = list(map(int, input().split())) cnt = 0 for i in range(1, n+1): com = list(combinations(seq, i)) for j in range(len(com)): S =..
https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 코드 n = int(input()) cnt = 0 result = 666 while True: if '666' in str(result): cnt += 1 if cnt == n: break result += 1 print(result) 시작 종말 숫자인 666에서 1씩 증가시키면서 숫자 안에 666이 존재하면 카운팅을 하고 해당 카운팅이 구하고자 하는 N번째 영화 제목과 일치하면 해당 숫자를 출..