반응형
코드포스(Codeforces) 158A Next Round 풀이 코드
C | C++ | Java | Python
Difficulty : *800 (Implementation)
문제 해설
대회에 참가한 선수들이 얻은 점수가 내림차순으로 정렬된 배열로 주어집니다. k번째 점수보다 크거나 같은 점수를 얻은 선수만 다음 라운드로 진출할 수 있습니다. 다음 라운드에 올라갈 선수는 모두 몇 명인가요?
풀이
입력받은 배열에서 k번째 값보다 크거나 작은 값의 수를 for문으로 세고 출력합니다.
코드
#include <stdio.h>
int main () {
int n, k, i, set, rlt = 0, arr[50] = {0, };
scanf("%d %d", &n, &k);
for(i = 0; i < n; i++){
scanf("%d", &arr[i]);
}
for(i = 0; i < n; i++){
if(arr[i] >= arr[k-1] && arr[i] > 0){
rlt ++;
}
}
printf("%d", rlt);
return 0;
}
#include<iostream>
int main(){
int n, k, rlt = 0;
std::cin>>n>>k;
int arr[n];
for(int i = 0; i < n; i++){
std::cin>>arr[i];
}
for(int j = 0; j < n; j++){
if(arr[j] >= arr[k-1] && arr[j] > 0){
rlt ++;
}
}
std::cout<<rlt;
}
import java.util.Scanner;
public class Main {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[] arr = new int[n];
for(int i = 0; i < n; i++){
arr[i] = sc.nextInt();
}
int rlt = 0;
for(int j = 0; j < n; j++){
if(arr[j] >= arr[k-1] && arr[j] > 0){
rlt ++;
}
}
System.out.println(rlt);
return;
}
}
n, k = map(int, input().split(" "))
rlt = 0
arr = list(map(int, input().split(" ")))
set = arr[k-1];
for i in range(n):
if arr[i] >= arr[k-1] and arr[i] > 0:
rlt += 1
print(rlt)
문제 출처
반응형