일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kaggle
- 자연어처리
- gs25
- ubuntu
- 프로그래머스 파이썬
- dacon
- 금융문자분석경진대회
- 우분투
- 데이콘
- 코로나19
- PYTHON
- 파이썬
- AI 경진대회
- ChatGPT
- hackerrank
- 캐치카페
- 백준
- leetcode
- 맥북
- Git
- github
- Baekjoon
- programmers
- Docker
- 편스토랑 우승상품
- Real or Not? NLP with Disaster Tweets
- 편스토랑
- SW Expert Academy
- 프로그래머스
- 더현대서울 맛집
- Today
- Total
솜씨좋은장씨
[BaeKJoon] 11004번: K번째 수 (Python) 본문

1일 1문제 10일차!
오늘 문제는 K번째 수 입니다.
11004번: K번째 수
수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
이 문제는 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])

SOMJANG/CODINGTEST_PRACTICE
1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.
github.com
'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 |