Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 10819. ์ฐจ์ด๋ฅผ ์ตœ๋Œ€๋กœ

deo2kim 2020. 11. 29. 23:18
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

  • S2 | ์™„์ „ํƒ์ƒ‰, ๋ฐฑํŠธ๋ž˜ํ‚น

๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ•˜๋ ค๊ณ  ํ–ˆ์œผ๋‚˜, ์ˆœ์—ด๋กœ ํ‘ธ๋Š”๊ฒŒ ๋” ๊ฐ„๋‹จํ•ด๋ณด์—ฌ์„œ ์กฐํ•ฉ์„ ์ด์šฉํ–ˆ๋‹ค.

์ˆซ์ž๋“ค์„ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ฝ‘์•„์„œ

๊ทœ์น™์— ๋งž๊ฒŒ ๊ณ„์‚ฐ์„ ํ•ด์ฃผ๊ณ 

์ตœ๋Œ€๊ฐ’์„ ์ฐพ๋Š”๋‹ค.

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

from itertools import permutations


def my_sum(numbers_tuple):  # ๋ฌธ์ œ์˜ ๊ทœ์น™์— ๋งž๊ฒŒ ๋”ํ•˜๊ธฐ
    total = 0
    for i in range(N - 1):
        total += abs(numbers_tuple[i] - numbers_tuple[i + 1])

    return total


if __name__ == '__main__':
    N = int(input())
    numbers = list(map(int, input().split()))
    answer = 0
    for permu in permutations(numbers, N):  # N ์ด ์ ์œผ๋ฏ€๋กœ ์ˆซ์ž๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐ
        result = my_sum(permu)
        answer = max(answer, result)

    print(answer)
 

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: BACKJOON ONLINE JUDGE

๋งํฌ: https://www.acmicpc.net/problem/10819

 

10819๋ฒˆ: ์ฐจ์ด๋ฅผ ์ตœ๋Œ€๋กœ

์ฒซ์งธ ์ค„์— N (3 ≤ N ≤ 8)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๋ฐฐ์—ด A์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋ฐฐ์—ด์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๋Š” -100๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.

www.acmicpc.net

๋ฐ˜์‘ํ˜•