티스토리 뷰

📚 문제

입력

출력

예제 입력

4 6
3
5
2
1

예제 출력

4

🧑🏻‍💻 풀이 과정

  • 이중 반복문으로 소의 크기(cows)를 반복하며 두 소의 크기가 사이즈(s) 이하이면 카운트(count)를 1 증가시키자.
  • python3로 이중 반복문을 사용한 경우, 시간초과가 발생하므로 pypy3로 제출하자.

PyPy3

import sys


def costume_party(cows):
    count = 0
    for i in range(len(cows)):
        for j in range(i + 1, len(cows)):
            sum_size = cows[i] + cows[j]
            if sum_size <= s:
                count += 1

    return count


n, s = map(int, sys.stdin.readline().rstrip().split())
arr = [int(sys.stdin.readline().rstrip()) for _ in range(n)]
print(costume_party(arr))

c++

#include "iostream"
#include "vector"

using namespace std;

int costumeParty(int s, vector<int> cows) {
    int cnt = 0;
    for (int i = 0; i < cows.size(); ++i) {
        for (int j = i + 1; j < cows.size(); ++j) {
            if (cows[i] + cows[j] <= s) {
                cnt++;
            }
        }
    }
    return cnt;
}


int main() {
    int n, s;
    scanf("%d %d", &n, &s);

    vector<int> cows;
    for (int i = 0; i < n; ++i) {
        int size;
        scanf("%d", &size);
        cows.push_back(size);
    }

    int cnt = costumeParty(s, cows);
    printf("%d \n", cnt);
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함