Skip to content

Conversation

@Fnhid
Copy link
Collaborator

@Fnhid Fnhid commented Jul 18, 2025

๐Ÿ”— ๋ฌธ์ œ ๋งํฌ

๋…ผ๋ฆฌํ•™ ๊ต์ˆ˜

โœ”๏ธ ์†Œ์š”๋œ ์‹œ๊ฐ„

5m

์‚ด์ง ์‰ฌ์–ด๊ฐ€๋Š” ๋А๋‚Œ์Šค๋กœ ๊ฐ€๋ฒผ์šด ๋ฌธ์ œ๋ฅผ ๊ฐ€์ ธ์™€๋ดค์Šต๋‹ˆ๋‹ค.

๊ทผ๋ฐ ๋„ˆ๋ฌด๋ฌธ์ œ๊ฐ€ ์‰ฌ์›Œ์„œ ๋‚œ์ด๋„์กฐ์ ˆ ์‹คํŒจํ•œ๋“ฏํ•ฉ๋‹ˆ๋‹ค..

๋…ผ๋ฆฌํ•™ ๊ณผ๋ชฉ์ด ์ด๋Ÿฐ์‹์œผ๋กœ ์‹œํ—˜ ์ถœ์ œ๋œ๋‹ค๋ฉด A+์ปท 98์  ์ฐ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์—๋Š” ๋ถˆ๋ฌธ์ œ ๊ฐ€์ ธ์˜ค๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ˜”

โœจ ์ˆ˜๋„ ์ฝ”๋“œ

"์ •ํ™•ํ•˜๊ฒŒ i๊ฐœ์˜ ๋ง์€ ์ฐธ์ด๋‹ค"๋ผ๋Š” ๋ฌธ์žฅ์ด n๊ฐœ ์ฃผ์–ด์ง€๋Š”๋ฐ,

n๊ฐœ์˜ ๋ฌธ์žฅ ์ค‘์—์„œ ๋ช‡ ๊ฐœ์˜ ๋ฌธ์žฅ์ด ์ฐธ์ธ์ง€ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์Šคํฌ์ผ๋Ÿฌ๋ฅผ ์—ด์–ด ๋ณด๊ธฐ ์ „์— ํ˜ผ์ž ์ƒ๊ฐํ•ด๋ณด์‹œ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

์Šคํฌ!!!!!!

'์ •ํ™•ํ•˜๊ฒŒ k๊ฐœ์˜ ๋ง์€ ์ฐธ์ด๋‹ค'๋ผ๋Š” ๋ฌธ์žฅ์ด k๊ฐœ ์กด์žฌํ•  ๋•Œ,

์ด ๋ฌธ์žฅ๋“ค์€ ๋ชจ๋‘ ์ฐธ์ด ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ์—์„œ๋Š” ์ด๋Ÿฌํ•œ k๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ ๋†’์€ k๋ฅผ ์ถœ๋ ฅํ•˜๋ผ๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ,

size 50 ๋ฆฌ์ŠคํŠธ์— ์ž…๋ ฅ์„ ๋ฐ›๊ณ 

50~1๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค

list[i] == i์ธ์ง€ ์ฒดํฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ , 0์ด ์ž…๋ ฅ์— ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

'์ •ํ™•ํ•˜๊ฒŒ 0๊ฐœ์˜ ๋ง์€ ์ฐธ์ด๋‹ค'๊ฐ€ 1๊ฐœ ์ด์ƒ ์žˆ์„ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ์†Œ๋ฆฌ์ธ๋ฐ,

๋จผ์ €, k>0์ธ k๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์‚ดํŽด๋ด…์‹œ๋‹ค.
(๋ฌธ์žฅ์ด ์ฐธ์ด ๋˜๊ฒŒ ํ•˜๋Š” i๋ฅผ k๋ผ๊ณ  ์ •์˜ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.)
ex)
4
0 0 1 2

์œ„ ๊ฒฝ์šฐ i=1์ด ์ฐธ์ด๊ณ , i=0์ด ๊ฑฐ์ง“์ธ ๊ฒฝ์šฐ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ k>0์ธ k๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ex)
5
0 1 1 2 3

i=0์ด ์ฐธ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.
์ด ๋ง์€ '์ •ํ™•ํ•˜๊ฒŒ 0๊ฐœ์˜ ๋ง์€ ์ฐธ์ด๋‹ค'๋ผ๋Š” ๋ฌธ์žฅ์ด ์ฐธ์ž„์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ๋ฌธ์žฅ์ด ๋ชจ์ˆœ์ž…๋‹ˆ๋‹ค.

i=0์ด ๊ฑฐ์ง“์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.
์ด ๋ง์€ '์ •ํ™•ํ•˜๊ฒŒ 0๊ฐœ์˜ ๋ง์€ ์ฐธ์ด๋‹ค'๋ผ๋Š” ๋ฌธ์žฅ์ด ๊ฑฐ์ง“์ž„์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ์ž…๋ ฅ์ด ๋ชจ๋‘ ๊ฑฐ์ง“์ด๋ฏ€๋กœ ๋ฌธ์žฅ์ด ๋ชจ์ˆœ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ 0์ด ์ž…๋ ฅ์œผ๋กœ ์กด์žฌํ•˜๊ณ , k>0์ธ k๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š” ๋ชจ์ˆœ์ž…๋‹ˆ๋‹ค.

์ด ์ผ€์ด์Šค๊นŒ์ง€ ๊ณ ๋ คํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋ฌด๋‚œํžˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“š ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ๋œ ๋‚ด์šฉ

์• ๋“œํ˜น์žฌ๋ฐŒ๋„ค์šฉ. ์‰ฌ์›Œ์„œ๊ทธ๋Ÿฐ๋“ฏ

Copy link
Contributor

@dohyeondol1 dohyeondol1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๊ต์œก์ ์ธ ์• ๋“œํ˜น ๊ฐ™๋„ค์š” ใ…Žใ…Ž
์ €๋Š” ์ฝ”๋“œ ์งœ๋Š” ์‹œ๊ฐ„๊นŒ์ง€ ํ•ด์„œ 10๋ถ„์€ ๊ฑธ๋ฆฐ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค..ใ… 

์ฒ˜์Œ์—” upper__bound(), lower_bound()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค๊ฐ€,
์œ ํ˜„๋‹˜์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์ €๋„ ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ์‹œ์ผœ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์ฒ˜์Œ ํ’€์ด
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    
    int N, answer = -1;
    cin >> N;
    vector<int> arr(N);
    for(int i = 0; i < N; ++i)
        cin >> arr[i];
    
    sort(arr.begin(), arr.end());
    
    for(int k = 0; k <= N; ++k) {
        int cnt = upper_bound(arr.begin(), arr.end(), k) - lower_bound(arr.begin(), arr.end(), k);
        if(cnt == k)
            answer = k;
    }

    cout << answer << '\n';
    return 0;
}

์ดํ›„ ๊ฐœ์„ ํ•œ ํ’€์ด

#include <iostream>
#include <vector>
using namespace std;

int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    
    int N; cin >> N;
    vector<int> arr(N);
    for(int& x : arr) cin >> x;

    vector<int> count(N+1, 0);
    for(int x : arr)
        if (x <= N) count[x]++;

    int answer = -1;
    for(int k = 0; k <= N; ++k)
        if(count[k] == k) answer = k;

    cout << answer << '\n';
    return 0;
}

@froglike6
Copy link
Collaborator

์ €๋„ ์ด ๋ฌธ์ œ ๊ฐ„๋‹จํžˆ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. A๊ฐœ์˜ ๋ง์ด ์ฐธ์ผ ๋•Œ, ๊ทธ ์ˆ˜๊ฐ€ A๊ฐœ ์žˆ์–ด์•ผ ํ•จ!์ด๋ผ๋Š” ์•„์ด๋””์–ด๋ฅผ ๋– ์˜ฌ๋ฆฌ๋Š”๊ฒŒ ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ต๋„ค์š” ใ…Žใ…Ž.

import sys
input = sys.stdin.readline

n = int(input())
charm = list(map(int, input().split()))
ans = -1
for i in range(n+1):
    if charm.count(i) == i:
        ans = i
print(ans)

Copy link
Collaborator

@hadongun hadongun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

k๊ฐœ์˜ ๋ฌธ์žฅ์ด ์ฐธ์ด๋ผ๋Š” ๋ฌธ์žฅ์ด k๊ฐœ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๋…ผ๋ฆฌ๋ฅผ ์ค‘์ ์œผ๋กœ ์งœ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

import sys
input = sys.stdin.readline

i = int(input())
logic = list(map(int, input().split()))
number = [0]*(51)
for j in range(i):
    number[logic[j]] += 1
result = -1

for k in range(len(number)):
    if number[k] == k:
        result = k
print(result)

@Fnhid Fnhid merged commit 7ba3d94 into main Aug 2, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants