반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 2997번 네 번째 수 파이썬(Python)

1) 문제번호 : 2997번

 

2) 문제 출처

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

 

2997번: 네 번째 수

첫째 줄에 상근이가 고른 4개의 수 중 3개가 주어진다. 이 수는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다.

www.acmicpc.net

 

2. 문제

상근이는 등차수열을 이루는 정수 4개를 골랐다. 이것은 상근이가 고른 수 4개를 정렬했을 때, 인접한 쌍의 차이가 일정하다는 것을 의미한다. 그 다음 이렇게 고른 수 4개를 노래로 만들어서 외우고 다닌다.

어느 날, 상근이는 자신이 고른 4개 수 중 1개를 까먹었다. 상근이가 기억하고 있는 수 세 개가 주어졌을 때, 까먹은 수를 구하는 프로그램을 작성하시오.

 

3. 제약사항

 

4. 입력

첫째 줄에 상근이가 고른 4개의 수 중 3개가 주어진다. 이 수는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다.

 

5. 출력

첫째 줄에 까먹은 수를 출력한다. 정답이 여러 개일 경우에는 아무거나 출력하면 된다. 또한 정답이 존재하지 않는 경우는 입력으로 주어지지 않는다.

 

6. 풀이

- 오름차순으로 정렬을 한다.

- 등차를 구한다.

- 작은 값부터 그 값에 등차를 더한 값이 없으면 출력한다.

 

7. 소스 코드

numList = list(map(int, input().split()))

#오름차순 정렬
numList.sort()

# 등차 구하기
d = min(numList[1]-numList[0], numList[2] - numList[1])

# 작은 값부터 등차를 더한 값이 없으면 그 값 출력
for i in range(len(numList)) :
    temp = numList[i]

    if temp+d not in numList :
        print(temp+d)
        break

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기