일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 회전하는큐
- 1781
- 그리디
- dart
- BOJ
- BOJ14889
- 동적프로그래밍
- 26008
- DP
- 재귀함수
- C++
- 14863
- Flutter
- 15662
- Python
- 스택
- 재귀
- 브루트포스
- 1로만들기2
- D1
- Crossfit
- 백준
- sw expert academy
- 해시해킹
- 15353
- 삼성
- 4811
- 서울에서경산까지
- spring boot
- 크로스핏
- Today
- Total
목록Coding Test (66)
곧죽어도 콛잉

https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱 www.acmicpc.net 1) 연산자와 숫자를 각각의 배열에 담는다. 2) 연산자의 순열을 구한다. 3) 구한 순열의 각각의 경우에 대해 준비된 배열로 연산을 한다. 4) 연산값 중 최소값, 최대값을 저장한다. 오랜만에 제대로 풀린 문제 같다.... 이번 문제는 글에 써져있는 그대로 구현만 해내면 된다!! (물론 함정을 조심해야함) 연산도 앞에서부터 차례대로인점을..

https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 1) nCn/2 를 구한다. 2) 두 팀을 나눈 경우의 수 각각에 대하여 능력치 합을 구한 다음, 그 차이를 구한다. 3) 그 차이가 가장 적은 경우가 답이 된다. 코드가 좀 더럽다... 이 문제의 핵심은 nCn/2 라는 점이다. 나는 이걸 그냥 combination으로 해결하려고 했다. combi 함수를 선언하고 vector now에는 그 조합이 나온다. 그리고나서 그 조합에 해당하는 n*n번의 과정으로 해당 팀원..

https://www.acmicpc.net/problem/1781 1781번: 컵라면 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라 www.acmicpc.net 1) deadline / 컵라면 개수를 벡터에 집어 넣고, 오름차순 정렬을 한다. 2) 벡터를 순회하면서, 처음 요소의 컵라면부터 하나씩 최소힙에 넣어준다. 2-1) 만약, 이때, 힙의 size보다 넣었을때 그 deadline이 크다면, 해당 힙에서 하나씩 꺼낸다. (컵라면이 최대가 되는 경우만 모인다!) ** 이 문제는 이상하게 tie가 통하지 않았다.. 컴파일 에러나면 tie대신 pair를 묶을때는 {..

https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 1) 만나면 폭발! 스택으로 생각하자. 내가 가장 먼저 풀었던 풀이는 #include using namespace std; string S, bS; vector split(string input, string delimiter){ vector ret; long long pos = 0; string token = ""; while ((pos = input.find(delimiter))..

https://www.acmicpc.net/problem/2109 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net 1) 를 저장할 vector를 만들고, sorting 한다. 2) 해당 를 최소힙을 통해 res를 구한다. 전형적인 우선순위 큐를 활용한 그리디 문제. 이 문제로 연습을 하면 대충 감이 잡힐 것 같다. 감을 익히자!! 일단 도저히 못풀겠어서 여기저기 답안 참고하며 풀어갔다. 우선 문제를 꼼꼼히 확인안한 나의 첫번째 논리는 "엥? 이거 그냥 날짜순으로 정렬하고 각..

https://www.acmicpc.net/problem/13244 13244번: Tree For each graph, a single line with “tree” if the graph represents a tree or “graph“ otherwise. www.acmicpc.net 1) 인접리스트를 만들고, 인접리스트를 순회하며 해당 그래프가 트리인지 확인한다. 무난한 그래프 문제이다. 트리의 기본 개념에 대해 복습할 수 있다! 트리의 조건은, 1) Node의 수 - 1 = Vertext(간선)의 수 2) 어느 한점에서 dfs를 해도 모든 Node를 지나갈 수 있다. 이다. 이걸 생각하면 매우 쉬운문제다. 그러나 나는 출력형식 때문에 계속 틀려서 멘붕이 왔었다.. if(isTree()){ cout..