Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SW Expert Academy
- 더현대서울 맛집
- 금융문자분석경진대회
- hackerrank
- 맥북
- Real or Not? NLP with Disaster Tweets
- 백준
- 프로그래머스
- leetcode
- programmers
- 캐치카페
- 편스토랑
- 파이썬
- github
- Baekjoon
- PYTHON
- 우분투
- gs25
- ChatGPT
- 데이콘
- 편스토랑 우승상품
- Kaggle
- Git
- 프로그래머스 파이썬
- Docker
- dacon
- 코로나19
- 자연어처리
- AI 경진대회
- ubuntu
Archives
- Today
- Total
솜씨좋은장씨
[BaeKJoon] 11004번: K번째 수 (Python) 본문
728x90
반응형
1일 1문제 10일차!
오늘 문제는 K번째 수 입니다.
이 문제는 N개의 숫자를 입력받고 그 N개의 숫자를 정렬한 다음 원하는 K번째 수가 무엇인지 맞추는 문제입니다.
처음 떠오른 아이디어는
입력받은 N개의 숫자를 내림차순으로 정렬한 뒤 뒤에서부터 K번째 수에 index로 접근하는 방법을 떠올려보았습니다.
바로 구현해보았습니다.
import sys
N, K = map(int, input().split())
nums = []
for i in range(N):
num = int(input())
nums.append(num)
nums.sort(reverse=True)
print(nums[-K])
결과는!
Jupyter Notebook에서는 이상없이 실행이 되었는데 백준에 제출하니 런타임 에러라는 결과를 얻었습니다.
input()이 문제인가싶어 sys.stdin.readline()으로 바꾸어보았습니다.
생각해보니 pop 할 것도아닌데 굳이 reverse=True로 내림차순으로 정렬하지 않아도 되는 것을 깨달았습니다.
왜 계속 런타임 에러가 나오나.... 문제를 다시 보니
입력을 1 2 3 4 5 6 7 8 9 10 처럼 1줄로 받아야하는 것을 이제야 깨달았습니다.
import sys
N, K = map(int, input().split())
nums = sys.stdin.readline().split(' ')
for i in range(len(nums)):
nums[i] = int(nums[i])
nums = sorted(nums)
print(nums[K-1])
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaeKJoon] 10828번: 스택 (Python) (0) | 2020.02.18 |
---|---|
[BaeKJoon] 1377번: 버블 소트 (Python) (0) | 2020.02.17 |
[BaeKJoon] 11652번: 카드 (Python) (0) | 2020.02.15 |
[BaeKJoon] 10989번: 수정렬하기 3 (Python) (6) | 2020.02.14 |
[BaeKJoon] 10825번: 국영수 (Python) (0) | 2020.02.13 |
Comments