티스토리 뷰

반응형



이번 포스팅은 백준 알고리즘 사이트의 10817번 세 수 문제를 Python으로 코딩해보도록 하겠습니다. 아래 url로 접속하시면 문제를 볼 수 있습니多


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


이번 포스팅은 지난 포스팅과 같은 단계인 if문 사용해보기 단계입니다.



이 문제의 경우 세 수를 입력 받고, 그 수 중에서 두번째로 큰 수를 출력하는 문제입니다.


1
2
3
4
5
inp = list(input().split())
for i in range(len(inp)):
        inp[i]=int(inp[i])
inp.sort(reverse=True)
print(inp[1])
cs


먼저 입력 받을 세 수를 따로 변수로 지정하지 않고 list형식으로 수를 받아 split으로 나누어 inp이라는 list에 저장하여줍니다.


Python의 경우 입력을 받을 떄 형을 지정해주지 않으면 자동으로 문자열로 저장되기 때문에 list형식 또한 int형으로 형변환하는 작업을 해줍니다.


for문을 inp의 길이만큼 반복하여 inp[i]값을 int형으로 형변환 시켜줍니다.


이후 sort 함수를 이용해 reverse라는 옵션을 사용하여 역순으로 정렬 즉, 큰 수부터 차례로 정렬하여 줍니다.

(sort함수는 기본값이 오름차순 정렬(작은 수가 먼저)이기에 reverse옵션을 이용해 내림차순 정렬(큰 수가 먼저)로 바꿔주어야 합니다..)


정렬된 list에서 두번째로 큰 정수를 뽑기 위해 inp[1]을 출력해주면 해결됩니다.



다음 포스팅에서는 다음 단계의 코드를 보도록 하겠습니다.


다음 포스팅에서 봐요 :)

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함