엘리스 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
반응형