dev/algorithm
BOJ / 10974๋ฒ / ๋ชจ๋ ์์ด [Go][Python3]
crscnt
2021. 3. 29. 21:00
๐ฉ๐ป๐ป ๋ฌธ์
10974๋ฒ: ๋ชจ๋ ์์ด
N์ด ์ฃผ์ด์ก์ ๋, 1๋ถํฐ N๊น์ง์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
www.acmicpc.net
โ๐ป ํ์ด
๐จ Go
// https://www.acmicpc.net/problem/10974
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var n int
fmt.Fscanln(reader, &n)
numbers := []int{}
for i := 0; i < n; i++ {
numbers = append(numbers, i+1)
}
permutations := getPermutations(numbers)
for i := 0; i < len(permutations); i++ {
permutationStr := fmt.Sprintf("%v", permutations[i])
fmt.Fprintln(writer, permutationStr[1:len(permutationStr)-1])
}
}
func getPermutations(elements []int) [][]int {
permutations := [][]int{}
if len(elements) == 1 {
permutations = [][]int{elements}
return permutations
}
for i := range elements {
el := append([]int(nil), elements...)
for _, perm := range getPermutations(append(el[0:i], el[i+1:]...)) {
permutations = append(permutations, append([]int{elements[i]}, perm...))
}
}
return permutations
}
๐จ Python3
# https://www.acmicpc.net/problem/10974
import sys
from itertools import permutations
if __name__ == "__main__":
n = int(sys.stdin.readline())
numbers = list(range(1, n+1))
for i in permutations(numbers):
for j in range(0, n):
print("{} ".format(i[j]), end='')
print()
728x90