_Han_
나의 개발 노트
_Han_
  • 분류 전체보기 (273)
    • 데이터 엔지니어링 (30)
    • 인프라 (3)
    • 추천시스템 (11)
    • 코딩테스트 (146)
    • 부트캠프 회고 (15)
    • 회고 (4)
    • 자격증 (1)
    • 파이썬 프로그래밍 (6)
    • 통계 (2)
    • Git (21)
    • 유니티2D (33)

최근 글

반응형
hELLO · Designed By 정상우.
_Han_

나의 개발 노트

코딩테스트

[코딩테스트] 백준 차이를 최대로 파이썬(Python)

2023. 3. 18. 16:13
반응형

https://www.acmicpc.net/problem/10819

 

10819번: 차이를 최대로

첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.

www.acmicpc.net

from itertools import permutations

n = int(input())
array = list(map(int, input().split()))


max_num = 0
for A in permutations(array, n):
    sum_value = 0
    for i in range(1, n):
        sum_value += abs(A[i]-A[i-1])
    max_num = max(max_num, sum_value)
print(max_num)

itertools의 permuations라이브러리를 이용하여 입력으로 들어오는 array로 만들 수 있는 배열의 모든 경우의 수를 구하였습니다.

 

모든 경우의 수를 순회하면서 문제에서 주어진 식을 이용하여 sum_value를 구합니다.

식 : |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]|

 

경우의 수 하나의 순회를 마쳤다면 max함수를 이용하여 sum_value와 max_num 중 더 큰 값을 max_num으로 저장합니다.

모든 경우의 수를 확인했다면 max_num은 최댓값을 저장했을 것입니다.

 

max_num을 결과로 반환합니다.

 

 

반응형

'코딩테스트' 카테고리의 다른 글

[코딩테스트] 프로그래머스 숫자 변환하기 파이썬(Python)  (0) 2023.03.21
[코딩테스트] 프로그래머스 예상 대진표 파이썬(Python)  (1) 2023.03.20
[코딩테스트] 프로그래머스 [3차] 파일명 정렬 파이썬(Python)  (0) 2023.03.17
[코딩테스트] 프로그래머스 땅따먹기 파이썬(Python)  (0) 2023.03.16
[코딩테스트] 프로그래머스 조건에 맞는 사용자 정보 조회하기 MySQL  (0) 2023.03.14
    '코딩테스트' 카테고리의 다른 글
    • [코딩테스트] 프로그래머스 숫자 변환하기 파이썬(Python)
    • [코딩테스트] 프로그래머스 예상 대진표 파이썬(Python)
    • [코딩테스트] 프로그래머스 [3차] 파일명 정렬 파이썬(Python)
    • [코딩테스트] 프로그래머스 땅따먹기 파이썬(Python)
    _Han_
    _Han_
    학습한 것을 기록합니다.

    티스토리툴바