http://boj.kr/9d09e66af5384b6cb43bc8de088d5be8
큰돌님 안녕하세요.
링크랑 같이 올렸어야 했는데, 죄송합니다.
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
음 해당 로직은 안될 것같아요. 정리하자면 다음과 같은 코드인거잖아요? (--end 이런식으로 하면 틀려서 해당 부분은 수정했습니다.)
#include<bits/stdc++.h> using namespace std; int n, ret, x; int main(){ cin >> n; vector<int> a(n); for(int i = 0; i < n; i++) cin >> a[i]; cin >> x; sort(a.begin(), a.end()); int l = 0, r = 1; while(l < r){ if(a[l] + a[r] == x)l++, ret++; else if(a[l] + a[r] > x)l++; else if(a[l] + a[r] < x)r++; } cout << ret << "\n"; }
근데 이건.. 아래 그림처럼 우리가 원하는 것은 빨간색처럼 찾아가는 건데 갑자기 r++가 되면서 우리가 원하는 방향으로 탐색이 안됩니다.
시간 내주셔서 감사합니다.!
음 해당 로직은 안될 것같아요. 정리하자면 다음과 같은 코드인거잖아요? (--end 이런식으로 하면 틀려서 해당 부분은 수정했습니다.)
근데 이건.. 아래 그림처럼 우리가 원하는 것은 빨간색처럼 찾아가는 건데 갑자기 r++가 되면서 우리가 원하는 방향으로 탐색이 안됩니다.
답글
김원태
2022.09.05시간 내주셔서 감사합니다.!