top of page

게시판 게시물

ju0923
2024년 5월 04일
In 소스 코드 제출
#include <stdio.h> int main() { int str[1000010]={}; int n; if(scanf("%d",&n)==0) return 0; for(int i=0;i<n;i++){ if(scanf("%d",&str[i])==0) return 0; } long long int a=0,b=0; for(int i=0,keep=0;i<n;i++){ if(str[i]%2==0){ a+=i-keep; keep++; } } for(int i=0,keep=0;i<n;i++){ if(str[i]%2==1){ b+=i-keep; keep++; } } if(a<b) printf("%lld",a); else printf("%lld",b); return 0; }
0
0
2
ju0923
2024년 5월 04일
In 소스 코드 제출
#include <stdio.h> int main() { int map[305][305]={}; int xy[305][2]={}; int n,m,k; if(scanf("%d",&n)==0||scanf("%d",&m)==0||scanf("%d",&k)==0) return 0; char a; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(scanf("%c",&a)==0) return 0; if(a=='#') map[i][j]=-1; } } int r=0; if(scanf("%d",&r)==0) return 0; for(int i=0;i<r;i++){ if(scanf("%d",&xy[i][0])==0||scanf("%d",&xy[i][1])==0); } for(int i=n-1;i>=0;i--){ for(int j=m-1;j>=0;j--){ if(map[i][j]==-1) continue ; if(i!=n-1||j!=m-1||map[i+1][j]==1||map[i][j+1]==1) map[i][j]=0; else{ int a=0; for(int w=1;i+w>=n&&j+w>=m&&w<=k;w++){ if(map[i+w][j+w]==-1) break ; if(map[i+w][j+w]==1) a++; } if(a==0) map[i][j]=1; } } } for(int i=0;i<r;i++){ if(map[xy[i][0]][xy[i][1]]==0) printf("First"); else printf("Second"); } return 0; }
0
0
1
ju0923
2024년 5월 04일
In 소스 코드 제출
#include <stdio.h> void check(int map[12][12],int n){ for(int i=0;i<n;i++){ for(int j=0;j<=i;j++){ printf("%d ",map[i][j]); } printf("\n"); } } int main(void) { int tr_A1[12][12]={}; int tr_B[12][12]={}; int tr_A2[12][12]={}; int tr_A3[12][12]={}; int min=0; int n; if(scanf("%d",&n)==0) return 0; for(int i=0;i<n;i++){ for(int j=0;j<=i;j++){ if(scanf("%d",&tr_A1[i][j])==0) return 0; } } for(int i=0;i<n;i++){ for(int j=0;j<=i;j++){ if(scanf("%d",&tr_B[i][j])==0) return 0; if(tr_A1[i][j] != tr_B[i][j]) min++; } } int a=0; for(int i=0,x=0 ; i<n ; i++,x++){ for(int j=0,y=n-1,x1=x ; j<=i ; j++,y--,x1--){ tr_A2[i][j] = tr_A1[y][x1]; if(tr_A2[i][j] != tr_B[i][j]) a++; } } if(a < min) min = a; int b=0; for(int i=0,x=n-1,y=n-1 ; i<n ; i++,x--,y--){ for(int j=0,y1=y;j<=i;j++,y1++){ tr_A3[i][j] = tr_A1[y1][x]; if(tr_A3[i][j] != tr_B[i][j]) b++; } } if(b < min) min = b; int c=0; for(int i=0 ; i<n ; i++){ for(int j=0 ; j<=i ; j++){ if(tr_A1[i][i-j] != tr_B[i][j]) c++; } } if(c < min) min = c; int d=0; for(int i=0 ; i<n ; i++){ for(int j=0 ; j<=i ; j++){ if(tr_A2[i][i-j] != tr_B[i][j]) d++; } } if(d < min) min = d; int e=0; for(int i=0 ; i<n ; i++){ for(int j=0 ; j<=i ; j++){ if(tr_A3[i][i-j] != tr_B[i][j]) e++; } } if(e < min) min = e; printf("%d",min); return 0; }
0
0
1
ju0923
2024년 4월 27일
In 소스 코드 제출
#include <string> #include <vector> using namespace std; int DFS(int map[101][101],int i,int j,int Y,int X,int n){ if(i==Y&&j==X) return 1; if(map[i][j]==-1){ if(map[i+1][j]>0) return DFS(map,i+1,j,Y,X,map[i+1][j])+1; if(map[i-1][j]>0) return DFS(map,i-1,j,Y,X,map[i-1][j])+1; if(map[i][j+1]>0) return DFS(map,i,j+1,Y,X,map[i][j+1])+1; if(map[i][j-1]>0) return DFS(map,i,j-1,Y,X,map[i][j-1])+1; } if(map[i][j]!=n) return 0; int max=0; int a = DFS(map,i+1,j,Y,X,n); if(a>max) max=a; int b = DFS(map,i-1,j,Y,X,n); if(b>max) max=b; int c = DFS(map,i,j+1,Y,X,n); if(c>max) max=c; int d = DFS(map,i,j-1,Y,X,n); if(d>max) max=d; } int solution(vector<vector<int>> rectangle, int characterX, int characterY, int itemX, int itemY) { int map[101][101]={}; for(int n=0;n<rectangle.size();n++){ for(int i=rectangle[n][4];i<=rectangle[n][2];i++){ for(int j=rectangle[n][1];j<=rectangle[n][3];j++){ if(map[i][j]!=0) map[i][j]=-1; else if(i==rectangle[n][4] || i==rectangle[n][2]){ if(j==rectangle[n][1] || j==rectangle[n][3]) map[i][j]=n; } } } } return DFS(map,characterY,characterX,itemY,itemX,map[characterY][characterX]); }
0
0
1
ju0923
2024년 4월 27일
In 소스 코드 제출
/*12 77 38 41 53 92 85 #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; }#include <stdio.h> int main() { int n,i,c=0,s=100; //n:입력받을 곳 //i:반복 한 값 //c:더한 값을 저장할 곳 //s:최소값을 구할 곳 for(i=1; i<=7; i++) //7번 반복하기 { scanf("%d",&n); if(n%2!=0) { c+=n; if(s>n) { s=n; } } } if(n%2==0) { printf("-1"); } printf("%d\n%d",c,s); return 0; } */ /*#include <stdio.h> int main() { int n,i,c=0,s=100; for(i=1; i<=7; i++) { scanf("%d",&n); if(n%2!=0) { c+=n; if(s>n) { s=n; } } } if(c==0) { printf("-1"); } else printf("%d\n%d",c,s); return 0; } */ /* #include <stdio.h> int main() { int a,b,c,i; int h, m; scanf("%d %d\n%d",&a,&b,&c); m = b+c; h = a+m/60; printf("%d %d",h%24,m%60); return 0; } */ /* #include <stdio.h> int main() { int n,i,s,b=0,m=1000; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&s); if(s>b) { b=s; } if(s<m) { m=s; } } printf("%d",b-m); } */
0
0
2
ju0923
2024년 4월 25일
In 소스 코드 제출
#include <stdio.h> int main(void) { long long int n,map[1000001]={},all_honey=0,min=10000000000,max=0; if (scanf("%lld", &n) != 1 || n < 1 ) return 0; for(int i=0;i<n;i++){ if (scanf("%lld", &map[i]) != 1) return 0; all_honey+=map[i]; if(map[i]>max && i!=0 && i!=n-1) max=map[i]; } long long int save=map[0]*2; for(int i=1;i<n;i++){ save+=map[i]; printf("%lld %lld\n",min,save+map[i]); if(min > save + map[i]){ min = save + map[i]; } } save=map[n-1]*2; for(int i=n-2;i>=0;i--){ save+=map[i]; printf("%lld %lld\n",min,save+map[i]); if(min > save + map[i]){ min = save + map[i]; } } long long int a = min + all_honey*2; long long int b = all_honey + max - map[0] - map[n-1]; if(a > b) printf("%lld",a); else printf("%lld",b); }
0
0
4
ju0923
2024년 3월 30일
In 소스 코드 제출
#include <string> #include <vector> using namespace std; int DFS(int n,vector<vector<int>> roads,vector<int> check){ check[n]=1; int quick = 0; int a=0; for(int i=0;i<roads.size();i++){ if(roads[i][0]!=n) continue; if(check[roads[i][1]]==0){ a += DFS(roads[i][1],roads,check); quick++; } } if(quick==0) return a; return quick-1+a; } int solution(int n, vector<vector<int>> roads) { vector<int> check(100001); int answer = DFS(1,roads,check); return answer; }
0
0
2
ju0923
2024년 3월 30일
In 소스 코드 제출
#include <string> #include <vector> #include <algorithm> using namespace std; int solution(vector<int> citations) { int max = 0,front = 0; int n = citations.size(); sort(citations.begin(), citations.end()); for(int i=0;i<citations[n-1];i++){ if(citations[front+1]<i) front++; if(n-front-1>=i) max = i; } return max; }
0
0
2
ju0923
2024년 3월 30일
In 소스 코드 제출
#include <string> #include <vector> using namespace std; vector<int> solution(vector<int> array, vector<vector<int>> commands) { vector<int> answer; for(int i=0;i<commands.size();i++){ int stArt = commands[i][0]-1; int enD = commands[i][1]-1; int waNt = commands[i][2]-1; vector<int> Sort(101); for(int i=0;stArt<=enD;i++,stArt++){ Sort[i] = array[stArt]; for(int j=i;j>0;j--){ if(Sort[j]>Sort[j-1]) break; int k=Sort[j]; Sort[j] = Sort[j-1]; Sort[j-1] = k; } } answer.push_back(Sort[waNt]); } return answer; }
0
0
2
ju0923
2024년 3월 23일
In 소스 코드 제출
/* 000000000 0 000000 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 000 000000 0 000000 0 00 0 0 0 0 0 0 0 0 000000 0 0 0 000000 0 000000 0 0 000 000 */
0
0
1
ju0923
2024년 3월 23일
In 소스 코드 제출
#include <iostream> #include <string> #include <vector> using namespace std; vector<int> solution(vector<int> progresses, vector<int> speeds) { vector<int> answer; int n=progresses.size(),day=0,continuity=1; day=(100-progresses[0])/speeds[0]; if((100-progresses[0])%speeds[0]!=0) day++; for(int i=1;i<n;i++){ if(progresses[i] + day * speeds[i] < 100){ answer.push_back(continuity); day=(100-progresses[i])/speeds[i]; if((100-progresses[i])%speeds[i]!=0) day++; continuity=1; } else{ continuity++; } } answer.push_back(continuity); return answer; }
0
0
1
ju0923
2024년 3월 23일
In 소스 코드 제출
#include <iostream> #include <vector> using namespace std; vector<int> solution(vector<int> arr) { int n=arr.size(); vector<int> answer; answer.push_back(arr[0]); for(int i=1;i<n;i++){ if(arr[i]!=arr[i-1]) answer.push_back(arr[i]); } cout << "Hello Cpp" << endl; return answer; } int main() { cout << "Hello world!" << endl; return 0; }
0
0
1
ju0923
2024년 3월 21일
In 소스 코드 제출
#include <string> #include <vector> using namespace std; int solution(int m, int n, vector<vector<int>> puddles) { vector <vector<int>> map(n+1, vector<int>(m+1, 0)); for(int i=0; i<puddles.size(); i++){ map[puddles[i][1]][puddles[i][0]] = -1; } map[1][1]=1; int c=m; for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ if(map[i][j] > -1){ map[i][j]+= (map[i-1][j]+map[i][j-1]) % 100000000007; c=m; } else{ map[i][j]=0; c--; } if(c==0) return 0; } } return map[n][m] % 100000000007; }
0
0
6
ju0923
2024년 3월 20일
In 소스 코드 제출
#include <iostream> #include <string> #include <vector> using namespace std; int solution(vector<vector<int>> triangle) { for(int i = triangle.size()-1;i>0;i--){ for(int j = 0;j<i;j++){ if(triangle[i][j] > triangle[i][j+1]) triangle[i-1][j] += triangle[i][j]; else triangle[i-1][j] += triangle[i][j+1]; } } return triangle[0][0]; }
0
0
4
ju0923
2024년 3월 15일
In 소스 코드 제출
#include <string> #include <vector> using namespace std; vector<string> solution(vector<vector<string>> tickets) { vector<string> answer; string Here=tickets[0][0]; for(int i=0,n=ticket.size();i<n;i++){ answer[i]=Here; vector<string> keep; for(int j=0;i<n;j++){ if(tickets[j][0]==Here) keep.push_back(tickets[j][0]); } string biggest=keep[0]; for(int j=1,m=keep.size();j<m;j++){ if(biggest>keep[j]) biggest=keep[j]; } } return answer; }
0
0
3
ju0923
2024년 3월 11일
In 소스 코드 제출
#include <iostream> #include <string> #include <vector> using namespace std; int DFS(string begin,string target,vector<string> wards){ if(begin==target) return 0; int n=begin.size(); for(int i=0;i<n;i++){ if(begin[i]==target[i]) continue ; string a=begin; a[i]=target[i]; for(int j=0;j<wards.size();j++){ if(a==wards[j]){ return 1+DFS(a,target,wards); } } } } int solution(string begin, string target, vector<string> words) { int answer = 0; return DFS(begin,target,words); } https://school.programmers.co.kr/learn/courses/30/lessons/43163
0
0
5
ju0923
2024년 3월 09일
In 소스 코드 제출
#include <iostream> #include <vector> using namespace std; int BFS[10000000][2]; int de = 0; int qu = 0; void push(int y, int x) { BFS[qu][0] = y; BFS[qu++][1] = x; return; } int pop(vector<int> v) { if (de > qu) return -1; v[0] = BFS[de][0]; v[1] = BFS[de++][1]; return 0; } int solution(vector<vector<int>> maps) { cout << "go" << endl; int n = maps.size(), m = maps[0].size(); push(0, 0); int answer = 0; int by = 1; int keep = 0; while (1) { vector<int> v(3); if (pop(v) == -1) return -1; if (by == 0) { answer++; by = keep; keep = 0; } by--; if (v[0] == n - 1 && v[1] == m - 1) return answer; if (v[0] < 0 || v[0] >= n || v[1] < 0 || v[1] >= m) continue; if (maps[v[0]][v[1]] == 0) continue; maps[v[0]][v[1]] = 0; keep += 4; push(v[0] + 1, v[1]); push(v[0] - 1, v[1]); push(v[0], v[1] + 1); push(v[0], v[1] - 1); } return 0; } int main(void) { vector<vector<int>> maps(100000, vector<int>(100000)); maps = {{1, 0, 1, 1, 1}, {1, 0, 1, 0, 1}, {1, 0, 1, 1, 1}, {1, 1, 1, 0, 1}, {0, 0, 0, 0, 1}}; cout << solution(maps); }
0
0
17
ju0923
2024년 3월 02일
In 소스 코드 제출
#include <iostream> #include <string> #include <vector> using namespace std; int check[201]={}; void DFS(int k,int n,vector<vector<int>> computers){ if(check[k]==1) return ; check[k]=1; for(int i=0;i<n;i++){ if(computers[i][k]==1){ computers[i][k]=0; computers[k][i]=0; DFS(i,n,computers); } } } int solution(int n, vector<vector<int>> computers) { int answer=0; for(int i=0;i<n;i++){ computers[i][i]=0; } for(int i=0;i<n;i++){ if(check[i]==0) answer++; for(int j=0;j<n;j++){ if(computers[i][j]==1){ computers[i][j]=0; DFS(j,n,computers); } } } return answer; } https://school.programmers.co.kr/learn/courses/30/lessons/43162
0
0
7
ju0923
2024년 3월 02일
In 소스 코드 제출
#include <iostream> #include <string> #include <vector> using namespace std; int answer = 0; int X(vector<int> numbers,int target,int i){ for(;i<numbers.size();i++){ int j = target-(numbers[i]*2); if(j == 0) answer++; if(j>0) X(numbers,j,i+1); } return 0; } int solution(vector<int> numbers, int target) { int a=0; for(int i=0;i<numbers.size();i++){ a += numbers[i]; } X(numbers,a-target,0); return answer; }
0
0
3
ju0923
2024년 2월 24일
In 소스 코드 제출
#include <stdio.h> int price[1001][4]={}; int memo[1001][4]={}; int n; int RGB(int i,int beFore){ if(i == n) return 0; if(memo[i][beFore] != 0) return memo[i][beFore]; int R,G,B; if(beFore != 1) R = price[i][1] + RGB(i+1,1); if(beFore != 2) G = price[i][2] + RGB(i+1,2); if(beFore != 3) B = price[i][3] + RGB(i+1,3); if(beFore == 1){ if(G < B){ memo[i][beFore] = G; return G; } else{ memo[i][beFore] = B; return B; } } if(beFore == 2){ if(R < B){ memo[i][beFore] = R; return R; } else{ memo[i][beFore] = B; return B; } } if(beFore == 3){ if(R < G){ memo[i][beFore] = R; return R; } else{ memo[i][beFore] = G; return G; } } if(beFore == 0){ if(R < G){ if(R < B){ memo[i][beFore] = R; return R; } else{ memo[i][beFore] = B; return B; } } else{ if(G < B){ memo[i][beFore] = G; return G; } else{ memo[i][beFore] = B; return B; } } } } int main(){ scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d %d %d",&price[i][1],&price[i][2],&price[i][3]); } printf("%d",RGB(0,0)); return 0; }
0
0
2

ju0923

더보기
bottom of page