개발조각

[파이썬 실습] 기초 문제_In the Middle 본문

엘리스 AI 트랙🐇/[AI 5기] 연습 문제집_파이썬 실습

[파이썬 실습] 기초 문제_In the Middle

개발조각 2022. 6. 4. 16:03
728x90
반응형

In the Middle

엘리스 토끼는 숫자를 3개 입력받아 가운데 값을 출력하는 프로그램을 작성하려고 합니다.

지시사항을 참고하여 코드를 작성하세요.

 

지시사항

  • 사용자로부터 공백을 기준으로 세 개의 정수를 입력받아 가운데 값을 출력하세요.

입력 예시

1 3 2

출력 예시

2

정답

# 지시사항을 참고하여 코드를 작성하세요.
answer = list(map(int, input().split(' ')))
answer.sort()

print(answer[1])

 

 

문자열.split() : 문자열을 리스트로 변환

split(' ')일 경우에는 띄어쓰기 기준으로 리스트가 만들어집니다.

그러나 split()이렇게만 써도 리스트가 만들어집니다.

'1 2 3 4'.split(' ') -> ['1', '2', '3', '4']
'1 2 3 4'.split() -> ['1', '2', '3', '4']
# 위 아래 같은 결과가 나옴

자바스크립트에서는 split로 '1234' ['1', '2', '3', '4']가 가능하지만

파이썬에서는 '1234'를 리스트로 못 만들고 '1 2 3 4'만 가능합니다.

(이거 때문에 애좀 먹었습니다.)

 

 

map()로 문자열 숫자인 원소를 숫자로 바꾸기

파이썬에서 map()을 쓰려면 자바스크립트랑 달리 절차가 많습니다.

아마 파이썬에는 무슨 자료형인지에 대해 민감해서 그런 것 같습니다.

이번 문제와 같이 '1 2 3 4'를 [1, 2, 3, 4]로 바꾸고 싶은데 split로는 ['1', '2', '3', '4']로 밖에 바꾸질 못합니다.

 

그래서 map()를 사용해서 문자열 숫자인 원소를 숫자로 바꾸어야 됩니다.

map(function, iterable) → map(적용시킬 함수, 적용할 값들 리스트나 튜플)

map반환을 위해 list로 변환해야 됩니다. (필수!!)

→ list(map(function, iterable))

 

이문제에서는 문자열 숫자를 숫자로 바꿔야 됨으로

list(map(int, 적용할 리스트))

이렇게 작성하면 됩니다.

(자바스크립트가 편하다..😂 자바스크립트가 그립다.)

 

 

시퀀스.sort() : 오름차순으로 정렬

728x90
반응형
Comments