#includeusing namespace std;int SugarSalt(){ int data = 0,answer=0; cin >> data; while (data!=0) { if (data % 5 == 0) { data -= 5; answer++; } else if (data - 3 >= 0) { data -= 3; answer++; } else { answer = -1; break; } } return answer;}int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin.tie(NULL); cout
해당문제는 그래프 최소 스패닝 트리로 풀 수 있는 문제다. 최소 스패닝트리는 프림과 크루스칼 알고리즘 으로 플수있다. 해당문제는 프림으로 풀었다 프림이 기본적인 알고리즘은 더 쉽다. 간단하게 말하자면 다익스트라가 누적과 다음노드로 가는 가격을 본다면 프림의 경우는 현재 갈 수 있는 간선들 중 가장 값싼 간선을 우선적으로 본다는 것이다,. 다시 문제로 돌아와 "켜져 있는"위치로만 가야 하기에 다익스트라는 다시 왔을 때 가격을 비교해야 하기에 어울리지 않을 수 있다. 코드르 보면서 설명해 보자 #include#include #include#include#include using namespace std;unordered_map>> Spninmap;unordered_map maps;//unorder..
종이 자르기 문제 위처럼 종이가 주어지면 흰색 부분과 파란 부분을 분리하여 자르되정사각형이 되도록 자르는게 목적이다. 해당 문제는 한칸씩 확인하며 정사각형을 측정한다면틀렸을때 최적이 될 정사각형을 찾아야 하기에 중복 되는 탐색이 매우 많을 것 같은 느낌이다. 이문제는 모든 사각형을 정사각형으로 자른다가 핵심이라고 생각한다. 가장 큰 종이에서 나올 수 있는 최대 정 사각형은 4개 그 안에서도 4개로 오히려 쪼개면서 계산하는 것이다. 사실 문제에서 내용을 이미지로 간단하게 설명해준다. 위 이미지 순서대로 큰거 자르고 문제 있는 부분만 자르면서 들어가는식으로 풀면된다 #include #include using namespace std;vector> arrya;int color[2] = {0,0};//재귀함수..
초기화 8 x 8 10 x 10 12 x 12 벽 그리기 채우기 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 알고리즘의 기초 중 기초? 라고 볼수있는 flood fill 알고리즘을 알아보자 위키백과 에선 플러드필 혹은 시드필 이라고 명명다. 내생각엔 알고리즘 의 기본 내용은 정말 간단하다 영역을 탐색하고 조건에 맞게 채우면 끝이다. 위키백과에서 설명하는 gif 다.https://en.wikipedia.org/wiki/File:Recursive_Flood_Fill_4_(aka).gif File:Rec..
석유 시추 bfs 로 석유를 미리 번호를 지어두는 작업이 필요하다고 생각한다.그리고 좌측부터 1자로 내리면서 제일큰걸 확인해보면 되는문제라 생각한다. 해당문제라면 1 [ 0,0], [ 0,1] [ 0,2] [ 0,3] [ 0,4].... 122 [2,0] [ 2,1] [ 2,2] 3.... 재귀로 bfs 탐색을하며 해당처럼 데이터를 모아준다 모아두었기때문에 한번 건들인 석유를 두번 캐지않을수있다. #include #include #include #includeusing namespace std;static int const nextland[4][2]{ {0,1}, {1,0}, {-1,0}, {0,-1} };//석유 룰 묶어주는 함수void find_oil(vector>& land, int x..
알고리즘 문제 해결전략 1편 발췌 예전에 해당 책을 읽다 기억에 오래 남았던 문제 한가지가해당문제다 결과값이 ㅡ2 이여야 할거같지만위 이미지처럼 4294967294가 나온다.해당값이 나오는 이유를 아래를 보기전에 생각해보자a: unsigned char , b: short (a + b ) :int * c : int (a+b) *c : int + d unsigned int (a+b)*c+d : unsigned int마지막 전체 수식의 답을 계산하는부분. d를 더하면서 전체 수식이 부호없는 정수형으로 변환 되는데 -2 는 자료형에 담기에 너무작은 값이기 때문에 오버플로우가 일어나값이 강제로 부호없는 정수로 캐스팅 되는 과정에서 큰..
https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제가 길다 간단 하게 설명하자면 그래프들은 1개이상의 정점과 정점들을 연결하는 단방향 간선 으로 이루어져 있다. 위 처럼 도넛 모양 그래프 막대모양 그래프 8자모양 그래프가 여러가지 있다. 그래프들과 무관한 정점을 하나 생성한뒤 그래프들을 임의의정점 하나로 향하는 간선들을 연결하였다. 그후 각 정점에 서로 다른 번호를 매겼다. 생성한 정점의 번호와 정점을 생성하기전 그래프들의 수를 구해야 한다. return [생성한 정점의 번호, 도넛모양..
토마토마토마토 https://www.acmicpc.net/problem/7576 익지 않은 토마토는 근처 토마토를 익게 하는 문제 혼자 익는경우가 없을때모든 토마토가 익을때까지 최소일수 를 구하는 문제 간단하게 BFS 를 써서 푸는 문제다 골드 5인만큼 그냥 시뮬레이션 돌리면 풀린다. #include#include#include#include using namespace std;#define XYZ tuplevector nonfire;const XYZ MoverDirection[4] = { {1,0} ,{-1,0} ,{0,-1} ,{0,1} };vector> vec;int N = 0, H = 0;///토마토 익는칸 확인 함수vector findNextTomato(vector ..
- Total
- Today
- Yesterday
- 타잔 알고리즘
- 알고리즘
- 색종이 자르기
- Algorithm
- 석유 시추
- 토맛토마토
- 내가 자주씀
- cpp 알고리즘
- Topologically sorted
- 영우의 방청소
- 유니티 데칼 (decal)
- 구간끼리 덧셈
- 백준
- 토마토맛토
- HDRP
- unity
- 도넛과 막대그래프
- 노미노
- 유니티
- 프로그래머스:여행경로
- null
- Cpp
- 오블완
- 무료 gpt 유니티
- tarjan
- 프로그래머스
- c#
- ??
- 함수
- 티스토리챌린지
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |