문제 링크

 

26168번: 배열 전체 탐색하기

크기 n인 정수형 배열 A가 주어진다. 배열 A의 원소는 A[0], A[1], ... , A[n-1]이다. 배열 A에는 같은 값을 갖는 원소가 여러 개 존재할 수 있다. 배열 A에 대한 m개의 질의가 저장된 배열 B가 주어진다.

www.acmicpc.net


문제

크기 n인 정수형 배열 A가 주어진다. 배열 A의 원소는 A[0], A[1], ... , A[n-1]이다. 배열 A에는 같은 값을 갖는 원소가 여러 개 존재할 수 있다. 배열 A에 대한 m개의 질의가 저장된 배열 B가 주어진다. 배열 B에 저장된 m개의 질의는 아래 세 가지 유형으로 구분된다. 첫 번째가 유형 1, 두 번째가 유형 2, 세 번째가 유형 3이다.

  • 1 k: 배열 A의 원소 중 k보다 크거나 같은 원소의 개수를 출력한다.
  • 2 k: 배열 A의 원소 중 k보다 큰 원소의 개수를 출력한다.
  • 3 i j: 배열 A의 원소 중 i보다 크거나 같고 j보다 작거나 같은 원소의 개수를 출력한다.

배열 B에 저장된 첫 번째 질의부터 m번째 질의까지 순서대로 처리하면서 질의 결과를 출력하자.


입력

첫 번째 줄에 n과 m이 공백을 사이에 두고 순서대로 주어진다.

두 번째 줄에 배열 A의 원소 A[0], A[1], ... , A[n-1]이 공백을 사이에 두고 순서대로 주어진다.

세 번째 줄부터 m개의 줄에 걸쳐 배열 B에 저장된 m개의 질의가 순서대로 주어진다. 한 줄에 하나의 질의를 나타내는 정수가 공백을 사이에 두고 순서대로 주어진다.


출력

첫 번째 줄부터 질의 결과를 순서대로 한 줄씩 출력한다.




#include <stdio.h>
typedef long long ll;
ll a[100004];
int n;

int A(ll a1)
{
    int count = 0;
    for (int i = 0; i < n; i++) if (a[i] >= a1) count++;
    return count;
}

int B(ll b)
{
    int count = 0;
    for (int i = 0; i < n; i++) if (a[i] > b) count++;
    return count;
}

int C(ll c1, ll c2)
{
    int count = 0;
    for (int i = 0; i < n; i++) if (a[i] >= c1 && a[i] <= c2) count++;
    return count;
}

int main()
{
    int m;

    scanf("%d %d", &n, &m);
    for (int i = 0; i < n; i++) scanf("%lld", &a[i]);

    for (int i = 0; i < m; i++)
    {
        int op;
        scanf("%d", &op);
        if (op == 1)
        {
            ll x;
            scanf("%lld", &x);
            printf("%d\n", A(x));
        }
        else if (op == 2)
        {
            ll x;
            scanf("%lld", &x);
            printf("%d\n", B(x));
        }
        else
        {
            ll x, y;
            scanf("%lld %lld", &x, &y);
            printf("%d\n", C(x, y));
        }
    }
}

'백준(BOJ)' 카테고리의 다른 글

백준 11441(합 구하기)  (0) 2023.01.22
백준 11659(구간 합 구하기 4)  (0) 2023.01.22
백준 4673(셀프 넘버)  (2) 2022.05.18
백준 15596(정수 N개의 합)  (0) 2022.05.18
백준 15552(빠른 A+B)  (0) 2022.05.18
백준 3009(네 번째 점)  (0) 2022.01.25

문제 링크

4673번: 셀프 넘버 (acmicpc.net)

 

4673번: 셀프 넘버

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,

www.acmicpc.net



#include <iostream>
using namespace std;
#define SIZE 10000
int main()
{
    int d, temp;
    bool a[SIZE + 1] = {};
    for (int i = 1; i <= SIZE; i++)
    {
        temp = i;
        d = i;
        while (temp)
        {
            d += temp % 10;
            temp /= 10;
        }
        if (d <= SIZE)
        {
            a[d] = true;
        }
    }
    for (int i = 1; i <= SIZE; i++)
    {
        if (!a[i])
        {
            printf("%d\n", i);
        }
    }
}

'백준(BOJ)' 카테고리의 다른 글

백준 11441(합 구하기)  (0) 2023.01.22
백준 11659(구간 합 구하기 4)  (0) 2023.01.22
백준 26168(배열 전체 탐색하기)  (0) 2023.01.22
백준 15596(정수 N개의 합)  (0) 2022.05.18
백준 15552(빠른 A+B)  (0) 2022.05.18
백준 3009(네 번째 점)  (0) 2022.01.25

문제 링크

15596번: 정수 N개의 합 (acmicpc.net)

 

15596번: 정수 N개의 합

C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang)

www.acmicpc.net



#include<stdio.h>
#include <vector>
using namespace std;

long long sum(std::vector<int>& a)
{
    long long ans = 0;
    for (int i = 0; i < a.size(); i++)
    {
        ans += a[i];
    }
    return ans;
}

'백준(BOJ)' 카테고리의 다른 글

백준 11659(구간 합 구하기 4)  (0) 2023.01.22
백준 26168(배열 전체 탐색하기)  (0) 2023.01.22
백준 4673(셀프 넘버)  (2) 2022.05.18
백준 15552(빠른 A+B)  (0) 2022.05.18
백준 3009(네 번째 점)  (0) 2022.01.25
백준 11719(그대로 출력하기2)  (0) 2022.01.25

'백준(BOJ)' 카테고리의 다른 글

백준 26168(배열 전체 탐색하기)  (0) 2023.01.22
백준 4673(셀프 넘버)  (2) 2022.05.18
백준 15596(정수 N개의 합)  (0) 2022.05.18
백준 3009(네 번째 점)  (0) 2022.01.25
백준 11719(그대로 출력하기2)  (0) 2022.01.25
백준 10707(수도요금)  (0) 2022.01.25

문제 링크

11719번: 그대로 출력하기 2 (acmicpc.net)

 

11719번: 그대로 출력하기 2

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이

www.acmicpc.net



소스 코드

 

#include <stdio.h>

int main() {
	int x, y;
	int ax, ay;
	int bx, by;
	int cx, cy;
	
	scanf("%d %d", &ax, &ay);
	scanf("%d %d", &bx, &by);
	scanf("%d %d", &cx, &cy);

	if (ax == bx)
		x = cx;
	else if (ax == cx)
		x = bx;
	else
		x = ax;

	if (ay == by)
		y = cy;
	else if (ay == cy)
		y = by;
	else
		y = ay;

	printf("%d %d", x, y);
	return 0;
}

'백준(BOJ)' 카테고리의 다른 글

백준 4673(셀프 넘버)  (2) 2022.05.18
백준 15596(정수 N개의 합)  (0) 2022.05.18
백준 15552(빠른 A+B)  (0) 2022.05.18
백준 11719(그대로 출력하기2)  (0) 2022.01.25
백준 10707(수도요금)  (0) 2022.01.25
백준 2588(곱셈)  (0) 2022.01.25

'백준(BOJ)' 카테고리의 다른 글

백준 15596(정수 N개의 합)  (0) 2022.05.18
백준 15552(빠른 A+B)  (0) 2022.05.18
백준 3009(네 번째 점)  (0) 2022.01.25
백준 10707(수도요금)  (0) 2022.01.25
백준 2588(곱셈)  (0) 2022.01.25
백준 2577(숫자의 개수)  (0) 2022.01.25

+ Recent posts