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

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/15353 15353번: 큰 수 A+B (2) C++17, C11, C99, C++98, C++11, C++14, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net 1) 일반적인 더하기가 불가능하니 BigInt 혹은 String으로 덧셈을 구현한다. 숫자를 잘 보자. A,B의 최대값이 10의 10000승이다!! 덧셈을 직접 구현해주면 된다. 이런 문제를 풀때마다 뭔가 현타가 가끔씩 온다. 아이디어가 생각나지 않으면 "하.... 이게 뭐야.... 나는 덧셈 뺄셈도 못하는 사람이었네... " 하면서 말이다 덧셈의 원리를 생..

https://www.acmicpc.net/problem/14620 14620번: 꽃길 2017년 4월 5일 식목일을 맞이한 진아는 나무를 심는 대신 하이테크관 앞 화단에 꽃을 심어 등교할 때 마다 꽃길을 걷고 싶었다. 진아가 가진 꽃의 씨앗은 꽃을 심고나면 정확히 1년후에 꽃이 피므 www.acmicpc.net 1) 빈칸 중 3개를 뽑는 경우를 모두 찾는다. 2) 각 경우마다 씨앗을 심는다. 그리고 꽃이 폈을때(즉, 상하좌우를 확인할때) 조건에 맞는지 확인한다. 3) 만약 확인한 경우가 잘못됐다면, 다른 경우로 넘어가고, 아니라면 총 비용을 계산해서 최소값인지 확인한다. 이 문제는 전형적인 완전 탐색 문제이다! 이 문제의 시간복잡도는 아무리 커도 20만을 넘기지 않는다. (100 combination ..