일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 호반우 상인
- 22869
- 백준 #다익스트라 #dijkstra #9370 #c++
- boj #백준
- 줄어드는수
- 사이클 없는 그래프
- 투포인터 #백준 #boj #20922 #22862
- 진법변환 #2to10 #10to2 #이진법 #십진법 #변환 #bitset #c++
- 코딩
- graph #최단경로
- 3343
- backtracking #codetree #디버깅 #삼성코테
- 3D #Reconstruction #computer #vision #volume #metric #tsdf #kinect #fusion
- 30870
- 1174
- N번째큰수
- 최소 #공배수 #최대 #공약수 #유클리드 #호제법 #lcm #gcd #c++ #boj #3343 #백준 #장미
- 쌤쌤쌤
- c++ #boj #
- hcpc
- 16202
- graph
- C++
- BOJ
- LIS #가장긴증가하는부분수열 #
- c++ #입출력 #속도 #ios #sync_with_stdio #cin #cout #tie
- 백준
- 레드아보
- 이분탐색 #dp #11053
- 20117
- Today
- Total
목록알고리즘 연습/백준 (71)
hyunjin
통나무 건너뛰기 통나무 건너뛰기의 난이도는 인접한 두 통나무 간의 높이의 차의 최댓값으로 결정 주어진 통나무들로 만들 수 있는 최소 난이도를 구하는 문제이다. 문제 풀이 결국 난이도가 최소가 되도록 배치를 하게 될것이다. [13 10 12 11 10 11 12] 이 예제로 생각해보자. 정렬한 결과 13 10 12 11 10 11 12 10 10 11 11 12 12 13 10 10 11 11 12 12 13 이 상태에서 난이도가 최소가 되도록 배치한다면 결국 정렬 후에 차이가 가장 적게 나는 것을 양옆에 배치할것이다. 10 기준으로 양 옆에는 10,11이 오게 배치될 것이다. 12 기준으로는 양 옆에 12 13가 오게 배치될 것이다. 이렇에 모든 수에 양옆에 이런식으로 배치될 것이다. 정렬 후 현재 위치..
백준 1541 잃어버린 괄호 난이도 silver2 풀이 1. - 이후엔 모두 괄호로 묶는다. 2. 다음 - 나오기 전까지 괄호로 묶는다. 괄호에 포커스를 두니 위의 2가지 방법에 묶여 구현을 어렵게 생각했다. queue,stack 등장... => 다시 생각해보면 결국 - 이후 연산자는 다 - 로 처리하면 된다. 이것을 구현할때 주의점 역시 숫자에서 한번에 다 뽑아내려하지 말고 string num 하나 두어서 계속 쌓다가 연산자 파트에서 계산해주면 더 쉽게 풀린다. 소스 코드 #include #include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); string input; cin >> inpu..
백준 그리디 11501 딱 보고 바로 떠오르진 않았다. silver3으로 난이도는 낮은 문제 문제 풀이 중요한 포인트는 i 번째 기준 i+1~마지막 중 max 값에서 팔면 최대라는 것이다. 이점을 이용해 풀어야하고 앞에서 부터 시작하면 i 마다 max가 달라지고 그 위치도 찾아줘야하기 때문에 복잡하다. 뒤에서 부터 시작해 max를 찾아 계산해주면 금방 풀린다. 시간 초과 #include using namespace std; int main(){ int T,N; scanf("%d",&T); while(T--){ scanf("%d",&N); int answer = 0 ; int profit[N]={0,}; // 주식 판 이익 int stockPrice[N]={0,};//주식 가격 for(int i = 0 ;..

https://www.acmicpc.net/problem/17248 17248번: 물리 공부 A 자동차는 20m/s로, B 자동차는 60m/s로 달리고 있을 때 A의 속도가 크기 2의 가속도에 의해 1초에 22m/s, 2초에 26m/s, 3초에 32m/s ... 로 증가 하게 되어서 A의 속도가 6초에 62m/s가 된다. www.acmicpc.net 경북대 2019 프로그래밍 경시대회 문제 문제 풀이 단순 수학 계산 문제다. 소스 코드 #include using namespace std; int X,Y,Z; float answer; void Input(){ cin>>X>>Y>>Z; } void Solution(){ answer = (-1*Z + sqrt( Z*Z - 4 *Z*(2*X - 2 * Y ) )..
백준 1260 소스 코드 #include #define MAX 1001 using namespace std; void BFS(int s , vector g[], bool visit[]){ queue q; q.push(s); visit[s]=true; while( !q.empty() ){ int current = q.front(),next; q.pop(); cout
소수 찾기 백준 소수 찾기 1978 소스 코드 #include using namespace std; int main(){ int n,num,ans; cin>>n; ans = n; while(n-- ){ cin>>num; if(num
10진 -> n 진법 백준11005 소스코드 #include using namespace std; int main(){ int n,b; string ans; cin>> n>>b; while(n>0){ char c = (n%b)s >>n; cout>n; int len = n.size(); if( len %3 == 1) cout=0){ ans += '1'; tmp -=2; } else ans += '0'; if(tmp-1>=0){ ans += '1'; tmp -=1; } else ans += '0'; (i==0) ? cout
백준 2609 최대공약수 최소공배수 소스 코드 직접 구현 #include using namespace std; int GCD(int a,int b){ return b? GCD(b,a%b) : a; } int main(){ int a,b,g; scanf("%d %d",&a,&b); g = (a>b) ? GCD(a,b) : GCD(b,a); printf("%d\n%d",g,a*b/g); return 0; } gcd 라이브러리 사용 int main(){ int a,b; cin>>a>>b; cout B, cout