티스토리 뷰

\

뭘 생각못했나?

먼저 학생들이 보는 방향이 두가지가 있었다는걸 생각했어야함,

오른쪽 왼쪽 두가지라 최대의 경우는 2이고, 그거만큼 계속 ans에 더해주면서 최종 값을 반환한다는 생각을 못함.

 

왜 실수했나?

실수는 없었지만 오른쪽 왼쪽 방향을 보고 그거만큼 더해준다는 발상이 어려웠음.

 

다음에도 이런일이 일어나지 않게하려면?

1. 이런류의 문제 많이 풀어보기

2. 문제 더 잘 읽기

 

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

int main(){
    int cnt[1010] = {}; 
    int ans = 0;
    cin.tie(0) -> sync_with_stdio(0);
    int n , x;
    cin >> n;

    for (int i = 0; i < n; i++){
        cin >> x;
        cnt[x]++;
    }

    for (int i = 1; i <= 1000; i++){
        ans += min(cnt[i], 2);
    }

    cout << ans;

}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
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
글 보관함