백준 문풀 41

백준 10816 숫자 카드 2

#include#include #includeusing namespace std;vectormy_card;vectorfind_card;int n, m,answer=0;int main() { cin.tie(NULL); ios::sync_with_stdio(false); cin >> n ; for (int i = 0;i > c; my_card.push_back(c); } cin >> m; for (int i = 0;i > c; find_card.push_back(c); } sort(my_card.begin(), my_card.end()); vectoranswer(m); for (int i = 0; i 탐색 과정에서 이진 탐색을 진행하였는데  알고리즘 헤더에 존재하는upper_bound (arr.begi..

백준 문풀 2024.08.09

18870

좌표 압축 첨엔 알고리즘의 find 함수를 썼는데 시간초과가 났다.. 흑흑 그 대신 unique라는 좋은 함수를 알아냈다..연속된 수 중 중복인 숫자는 하나를 제외하고 없앤다.꼭 연.속 된 숫자여야 한다!!처음에 지워버리는게 아니라 중복된 숫자를 배열의 맨 뒤로 보내고 뒤로 보낸 숫자중 첫 원소의 주소를 return 한다따라서 그 중복 숫자열을 지워주는 과정까지 해주면.. 완성이다 copy.erase(unique(copy.begin(), copy.end()), copy.end()); #include#include#include using namespace std;int binary_search(vector& num, int digit);int main() { cin.tie(NULL); cout.tie(N..

백준 문풀 2024.08.01

백준 6588

에라토스테네스의 체를 이용하여 풀어야겠다는 생각은 하였으나.. 계속해서 오류가 남.에라토스테네스의 체에서 홀수 부분만 이용하기 때문에 조건도 그에 맞춰서 홀수만 구해보고 별짓을 다해도 오류가 나길래 당황스러웠는데...사실 벡터를 사용하고 있어서 그런거였다.. 바로 배열을 사용해서 풀어주니 문제가 해결되었다. 벡터 배열은 그냥 인수로 넘겨주면 복사가 일어나서 시간초과가 일어나게된단다.. 새로운 사실.. ㅜㅜ벡터를 사랑하지만 상황에 맞게 써야겠다.....

백준 문풀 2024.07.31

1463

1 만들기  백준 문제 중에 제일 많이 틀린 것 같다 .. 이 문제를 이렇게 많이 푼 사람은 나밖에 없을 것,,, 시간초과 문제 때문에 배열에 저장을 해줘야겠다는 생각까지는 했는데,,처음에 그냥 int 일차원 배열을 쓰는데 크기가 10^6이라 배열이 그 크기까지 클 수 없었나봄. 그래서 vector배열을 써줬다2의 배수이면서 3의 배수인 경우를 생각을 못해서 4% 에서 틀림 떠서 우울했다.. 또 1일때 당연히 1일 줄 알았는데 0이더라. 당연함 제목부터가 1만들기임. 이 문제 푼사람 정말 많던데 나는 어려웠다 #include#include#includeusing namespace std;int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); int n..

백준 문풀 2024.07.22

11051

java이항계수를 10007로 나눈 나머지를 구하는 프로그램 공백으로 나눠진 두 정수의 입력을 받기 위해 string tokenizer 클래스를 이용함string tokenizer는 문자를 토큰화시킨다고 보면된다공백 뿐 아니라 컴마, 특정 문자를 기준으로 분리할 수도 있다 공백을 기준으로 구분할 경우에는 StringTokenizer st = new StringTokenizer(문자열); 구분자가 따로 존재할 경우에는 StringTokenizer st = new StringTokenizer(문자열,구분자);  이렇게 구분된 두개의 토큰은 nextToken 함수를 이용하여 받을 수 있다. 파이썬에서 pop과 비슷한 기능인듯? 받은 토큰이 string타입이므로 paresInt를 이용해 int로 형변환을 시켜준..

백준 문풀 2024.07.22

백준 1485

java로 백준 제출할 때 패키지를 따로 넣지 않고 calss명을 Main 으로 작성할 것!  Scanner를 사용하려고 했지만 백준에서 시간 초과 가능성이 있다고 하여 buffer reader와 buffer writer를 사용해줌.scanner와 차이점은 입출력 숫자 버퍼에 저장 여부.사용법은 비슷해서 다르게 느껴지진 않았다. 입력받은 네 점이 정사각형이 될 수 있는지의 여부를 확인해야하는 문제. 일단 네 점을 입력받기 위해 4행 2열 짜리arr 이차원 배열을 선언해 4점의 x y좌표를 저장해 주었다.또한 length 배열을 선언하여 점 사이의 거리를 측정해 저장해주었다.네 점을 입력받아 구할 수 있는 거리의 수는 6가지이므로 length의 길이도 6으로 해주었다. 점사이 거리를 구하기 위해서 두 점사..

백준 문풀 2024.07.15

1004

어린 왕자 딱 봤을 때는 어려워 보였는데 조금 생각해보니까 풀 수 있었다. 시작 좌표와 끝 좌표가 속한 원의 개수를 세주었다.만약 한 원에 시작 좌표와 끝 좌표가 둘 다 속해 있다면 그 원은 세지 않음. 이를 위해 집합을 사용해 주었다.또한 집합에 행성의 x,y,r 좌표를 묶어서 저장해주려고 튜플을 이용주었다.pair로는 두개까지만 묶인다더라.. 좌표가 원 내부에 있는지 판단해야하는데 처음에 사각형의 내부로 판단해 틀렸었음.#include#include#include#includeusing namespace std;set>P;set>via;void planet(int a, int b, int r) { P.insert(make_tuple(a, b, r));}void search(int a, int b ,i..

백준 문풀 2024.07.02