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

https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 오랜만에 재대로 풀어본 골드3문제 ㅎㅎ 계속 조금씩 풀다보니 실력이 늘고 있는 느낌이다. (이렇게 단순한건 말이다..) 이 문제는 어렵게 생각할거 없이 문제 조건을 그대로 구현하면 끝나는 문제다. 우선 최단거리를 구해야하니 bfs를 사용하고, 조건에 따라 먹을 물고기를 고르면 끝! 나머진 코드를 읽어보자. #include using namespace std; int N, bd[21][21..

https://www.acmicpc.net/problem/15662 15662번: 톱니바퀴 (2) 총 8개의 톱니를 가지고 있는 톱니바퀴 T개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 1) 톱니를 배열로 표현한다 2) 각 톱니의 [2], [6]을 비교한다. 3) rotate를 결정한다. 정돈되지 않은 코드로 .... ㅋㅋㅋㅋ 그냥 머리속에 떠오른대로 막 해봤다. 일단 톱니모양은 어떻게 짜야할까 고민하다가 딱 보니깐 패턴이 있었다. 그냥 배열 그대로 사용하는 것!! 일단은 그림을 그려보자 그림을 보면 간단하다! 톱니의 회전 유무는 바로 배열의 2번째, 6번째 값이 결정..

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))..