본문 바로가기

전체 글

(2344)
(C++) - 백준(BOJ)3028번 : 창영마을 답 https://www.acmicpc.net/problem/10820 switch문을 이용해 푼 간단한 문제였습니다. 1234567891011121314151617181920212223242526#include #include #include using namespace std;string w;int a[3] = { 1,0,0 };int main() { cin >> w; for (int i = 0; i
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 2563번:색종이 답 123456789101112131415161718#include using namespace std;int a[101][101],n,x,y,ans;int main() { cin >> n; while (n--) { cin >> x >> y; for (int j = 91 - y; j
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 5576번:콘테스트 답 123456789101112131415161718#include #include using namespace std;int w[10], k[10],w_s,k_s;int main() { for (int i = 0; i > w[i]; for (int i = 0; i > k[i]; sort(w, w + 10); sort(k, k + 10); for (int i = 7; i
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 2164번:카드 2 답 123456789101112131415161718192021222324252627282930#include using namespace std;int n, a[1000001],p,r=1;void insert_node(int x);void delete_node();int main() { int n; cin >> n; p = n+1; for (int i = 1; i =2) { delete_node(); int tmp = a[r]; delete_node(); insert_node(tmp); n--; } for(int i = 1; i
(C++) - cout,cin 실행 속도 높이기(시간초과 해결법) 🍳머리말 문제를 푸실 때 printf, scanf를 사용했을 때 A/C를 받았지만 cout, cin을 사용했을 때 시간초과가 나는 경우가 있습니다. 이에 대한 이유와 해결방법을 설명한 글입니다. 📕 왜? 이는 cout, cin이 printf, scanf보다 실행 속도가 느리기 때문에 발생합니다. 평소에는 시간 차이가 별로 없지만 입력이나 출력이 몇 십만 정도로 많아지면 시간이 크게 차이나게 됩니다. 따라서 이 부분을 유의하여 코드를 작성하려면 cout, cin 대신 printf, scanf를 사용하시는 것을 권장하지만 cout, cin을 계속 사용하고 싶은 분들이라면 꼭 아래 방법을 이용하시는 것을 권장합니다. 아래 코드는 cout, cin의 성능을 printf, scanf만큼 빠르게 만들어주는 역할을 ..
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 10815번:숫자 카드 답 123456789101112131415161718192021222324252627282930313233343536#include #include using namespace std;int n, m;int a[500000];int bs(int x){ int r = n-1; int l = 0; while (l > n; for (int i = 0; i > a[i]; sort(a,a+n); cin >> m; while (m--) { int x; cin >> x; cout
(C++) - 백준(BOJ) 11557번 : Yangjojang of the year 답 #include #include using namespace std; int t, n, big,ib; struct YJJ { string school; int c; }; int main() { cin >> t; while (t--) { cin >> n; YJJ *y = new YJJ[n]; for (int i = 0; i > y[i].school >> y[i].c; if (big < y[i].c) { big = y[i].c; ib = i; } } cout
(C++) - 백준(BOJ) 1644번 : 소수의 연속합 https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net two pointer로 푼 문제였습니다. 풀이방법 1. 400만까지의 소수를 구해 vector 자료형의 변수 prime에 저장합니다. 약 28만개 정도 됩니다. 2. two pointer를 시행합니다. 변수 l과 r을 pivot으로 하여 다음조건에 따라 누적합을 저장할 변수 sum에 적절히 더해가거나 빼면서 수행합니다. 2-1. 가장 처음 소수인 2부터 시작해서 누적합이 n을 초과한다면 l값을 빼주고 구간을 한칸 오른쪽으로 옮겨줍니다. 2-2. 만약 연속구간의 합이 n과 같다면 ans를 더해줍니다. 가장 처음 소수인..