본문 바로가기
728x90

알고리즘/[python] 백준 BOJ328

[python] 백준 10819 차이를 최대로 https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 문제 해결 처음에 규칙을 찾을려고 했는데 찾을 수 없었다.(지금도 있는지 모르겠다.) 문제를 보고 한동안 못풀다가 for문을 통해서 permutations 한 모든 경우의 수를 각각 계산해서 찾는 방법이 있다는 것을 알고 해결했다. CODE from itertools import permutations import sys input = sys.stdin.readline n = int(input()) A = li.. 2023. 1. 10.
[python] 백준 10974 모든 순열 https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 과정 총 출력 개수는 n! 현재 순열을 출력하고 사전식 수열에서 다음에 나올 수 있는 순열로 정렬하는 방법은 이전 문제에서 푼 적이 있다. https://thought-process-ing.tistory.com/92 [python] 백준 10972 다음 순열 https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. w.. 2023. 1. 9.
[python] 백준 10973 이전 순열 https://www.acmicpc.net/problem/10973 10973번: 이전 순열 첫째 줄에 입력으로 주어진 순열의 이전에 오는 순열을 출력한다. 만약, 사전순으로 가장 처음에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 문제 해결 10972와 반대 문제 https://thought-process-ing.tistory.com/92 [python] 백준 10972 다음 순열 https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 문 thought-process-ing.tistor.. 2023. 1. 8.
[python] 백준 10972 다음 순열 https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 문제 해결 다음에 오는 순열을 어떻게 표현할 수 있을지 알아내기 쉽지 않다. 순열을 뒤에서 부터 본다. → 순열의 i번째 수와 i-1번째 수와 비교했을 때 i-1번째 수가 i번째 수보다 작을 때 다시 i-1번째 수와 순열의 마지막 수부터 비교를 해서 i-1번째 수와 j번째 수(i-1 ≤ j)가 처음으로 되는 수와 바꾼다. → i번째 수까지 그대로 출력하고 i+1번째 수부터는 sorted()를 이용하여 가장 작은 수부터 나열 한다. 만약 한 번도 수를 바꾸지.. 2023. 1. 7.
728x90