1\. VSCode에 컴파일러 따로 추가 및 Configuration에서 설정VS Code로 Compile하기 - g++ 컴파일러 설치https://toopyo.tistory.com/entry/vscode-post2세부설명 - Setting Configura
위의 2줄을 사용하면, 수행속도 증가안풀리던 문제까지 풀리는 경우가 존재할 정도로 유용.https://dingcoding.tistory.com/m/62위의 글을 요약하면,ios::sync_with_stdio(0)는 C의 printf와 C++의 cout을 혼합하
https://www.acmicpc.net/problem/10797해결풀이ios::sync_with_stdio(0);cin.tie(0);개념을 곧바로 사용해보았고, Java처럼 한 줄씩 읽는게 아니라 Tokenize도 할 필요가 없었고,Integer.parse
언어마다 천차만별인 문자열 관련 기능들을 알아야만 풀 수 있는 문제이므로..기초적인 대략의 풀이만 참고한다.소문자가 대문자+32 라는 것을 알아야만 할 것이다.시도틀렸는데 왜인지 모르겠다.반례도 적다. 심지어 저 반례도 통과했다.위기다.카멜표기법을 스네이크나 파스칼로
coding.tistory.com/408https://blockdmask.tistory.com/332원형으로 이어져있는 것처럼, 3번째 뒤의 것을 빼는데, 7
최대공약수를 찾는 문제는 무조건 해당 알고리즘을 사용,구현법에는, 1. 재귀함수의 사용, 2. while문 사용이 존재하는데,개인적으로 2번이 더 쉬워보여서 2를 사용.유클리드 호제법 사이트한 경로로 쭉 탐색하다가 특정 상황에서 다시 돌아가 다른 경로를 탐색하는 방식.
DFS를 모른채로 풀려고 하면 막막하다.해결풀이참고 포스트(https://velog.io/@sputnikel0221/CPP-%EB%AC%B8%EC%A0%9C%EC%9C%A0%ED%98%95위의 포스트의 DFS의 6가지 요소를 적절하게 추가하여 사용하였다.최대
https://www.acmicpc.net/problem/2606시도Map으로 연결을 표현하려고 하였다.하지만 1번에서 2로, 5로 가는 2개의 연결이 존재하므로,키값이 중복되게 되었다..따라서 한 키에 대한 value값으로 벡터를 두었는데,그냥 2차원벡터를
2차원 배열의 초기화를 했는데, 이상한 값들이 들어가 있다..왜????찾아보니까.. 원래는 배열은 생성하면 0으로 초기화되는데CPP는 당연히 그렇진 않고,2차원 배열이라도 int visitedN = {0, };위처럼 넣으면 0으로 초기화 된다고 보았는데,왠지 적용이 안
https://www.acmicpc.net/problem/11729해당 문제가 재귀가 필요한 문제라는 것은 안다.하지만 구현을 어떻게 해야할지는 모른다.구현해본다.시도음.. 최단경로를 보장하지도 못하는 알고리즘해결원리는 위와 같다. 장대가 3개기 때문에, 원점
이번 주 내로 DFS / BFS문제를 최대한 풀어보려고 한다.BFS의 구현은 이제 어느정도 적응했고,특히 BFS로 최단경로를 찾는다던가, 역추적한다던가응용도 할 수 있는 상태이다.DFS는 그렇지 않다.DFS의 구현은 재귀함수, Stack이 존재하는데,재귀함수는 어느정도
https://www.acmicpc.net/problem/2667이전에 풀었던 섬 문제와 비슷해보인다.다른점은 대각선은 취급하지 않는다는 것,그리고 섬마다 땅 면적을 출력해야한다는 것이다.그림2처럼 굳이 숫자로 표시해둘 필요는 없을 것 같다.초등학생들이 참 똑
실버의 마지막 문제를 풀고 골드로 넘어가려고 한다.실버 중에서 유난히 정답비율이 낮은 문제가 존재해서실버의 마지막 문제로 선정하였다.정답비율이 낮은 이유는 아무래도 입력값의 범위 때문일 것 같다.범위가 굉장히 크다.2차원 배열이 아닌, 벡터 배열로 구현해본다.시도Cou
https://www.acmicpc.net/problem/1525많이 해본 퍼즐이긴한데.. 공식은 모르고 그냥 움직여만 봤다각 숫자가 본인의 자리에 있으면 성공인것인데..최단거리를 어떻게 구해야할까..?우선 최단거리니까 BFS를 사용할 것이다.그런데 이게 한
여태까지 DFS, BFS를 공부했다.최단거리를 구하는데 BFS가 매우 적합하지만,BFS로 최단거리를 구하지 못하는 문제도 존재한다고 한다.구별하는 방법은 이동할 수 있는 거리에 비용이 붙어있는가이다.바로 다익스트라 알고리즘이고,다익스트라 문제를 몇개 풀어보고 문자열 문
https://www.acmicpc.net/problem/17396제일 싫어하는 문제 유형이다.필요한 요건만 설명하면 되는데, 불필요한 서술을 굉장히 많이 붙였다.간단히 요약하면, 방문하면 안되는 정점을 제외하고최단거리를 구하면 끝인 문제다.방문하면 안되는 정
우선 문제 전에, 벨만포드와 플로이드워셜 중에 플로이드워셜 하나만 배우려고 한다.위의 백준 문제의 수로 일단 플로이드-워셜이 범용성이 더 높다고 판단했고,실제 문제들을 보았을 때, 벨만포드는 평균 플레-다이아 수준이었고,플로이드-워셜은 골드 수준이어서 플로이드 워셜로
!youtubeMj6D3HW_rCwBFS/DFS - 다익스트라 - Floyd-Warshall 을 지나문자열 파트로 넘어간다.앞서 마찬가지로 공부의 효율을 위해, 무작정 바로 풀기보다여러 코딩 팁과 알기 쉽게 설명하는 위의 강의를 참고한다.내용을 요약해보면ㅡ문자열은 Py
https://devjeong.com/algorithm/algorithm-1/좋은 문자열문제를 따로 고를 필요없이,정리된 위의 사이트의 문자열 문제들을 풀어본다.https://www.acmicpc.net/problem/2870주어지는 문자열 속에서 숫
대략 2일동안 문자열을 풀어보았는데,골드까지 아직 가지 못했다.그런데 문자열을 막상 풀어보니, 골드가 실버의 상위호환 문제는 또 아니라는 생각이 들었다.문자열 문제의 범위가 넓다보니, 모든 문제들이 문자열의 특정 부분만 건드리게 되고,따라서 문자열 문제는 그냥 가리지않
1. 5052 - 문자열 / Vector,Sort https://www.acmicpc.net/problem/5052 입력으로 주어진 전화번호의 목록에서, 한 번호가 다른 번호의 접두어인 경우가 존재하는지를 찾는 문제이다. 위처럼 연속된 숫자로 주어지게 된다. 음..
문자열을 끝냈고, BruteForce나 DP를 배우려고 했다.하지만 BruteForce는 구현 카테고리의 문제를 풀 때 같이 하도록 하고,DP를 배운다.!youtube5leTtB3PQu0내용을 요약해보면,DP라는 것은 이전의 값들로 다음의 값을 구하는 방식이라고 볼 수
심화된 DP문제들을 풀어보려고 한다.https://www.acmicpc.net/workbook/view/7836이 중에서 골드까지의 문제를 풀며 심화된 DP들을 배워본다.DP는 점화식을 구하지 못하면 절대 못푸는 문제라고 생각하기에,오랫동안 구하지 못하면 바로
https://www.acmicpc.net/problem/1520DFS로 풀어야 할 것 같다는 생각이 들었다.DP문제라고 보았는데, DP를 왜 쓸까 생각도 들었다.그냥 목표점에 도달하면 count를 세고,출력만 하면 되는게 아닌가??일단 해본다.시도DFS로 구
1. 9252 - 문자열 / DP https://www.acmicpc.net/problem/9252 https://gusdnr69.tistory.com/192 해당 글을 참고하였다. > 해결 > 풀이 주석에 다 적어놓았고, LCS 문제는 DP를 사용해야하는데,
\> 1 Week <1\. 자료 구조 및 사용 숙달 - 09/02하루에 무조건 죽었다 생각하고 20문제씩 풀기 한 문제에 20분 걸리면 6시간. 30분 걸리면 10시간.대략 아침 8시부터 오후 9시까지 쉴새없이 풀어야 가능그래도 하기기초1 (60)https&#x
자료구조 관련 함수 + 문자열 + Algorithm.h 함수목적에 따른 자료구조의 사용 구분https://indirect91.tistory.com/27먼저 가장 위의 Stack / Queue / Priority_Queue 3개는 모두 순서가 중요한 정보의 저
https://www.acmicpc.net/problem/10828구현그냥 큰 배열 선언해두고, if문으로 명령어를 분류한다.문제점1\. cout << stacka--; 이런 혼합식이 제대로 적용되지 않는다.(현재 VS에서 안된다)따라서 a-1을 출
https://www.acmicpc.net/problem/10872구현그냥 2부터 N까지 for문을 돌리며result=1에 i를 곱했다.(1팩토리얼은 1)항상 팩토리얼은 0팩토리얼을 신경써야했다.0! = 1;https://www.acmicpc.net/
DP문제들https://www.acmicpc.net/problem/1463구현4부터 n까지 순회한다. 그 이유는 1은 목표점이라서 0,2,3은 -1 /2 /3으로 한번에 1로 갈 수 있으므로 1 고정이기 때문.기본적으로 dpi = dpi-1 + 1 으로 정의해
https://www.acmicpc.net/problem/15988구현초기값 제대로 정하고dp\[i] = (dp\[i-1] + dp\[i-2] + dp\[i-3]) 이거 하면 끝.문제점없https://www.acmicpc.net/problem/1149
1. 가장 큰 증가 수열 https://www.acmicpc.net/problem/11055 > 구현 그냥 구하면 된다. > 문제점 가장 작은 증가수열인 길이 1인 증가수열을 생각했어야 했다. 따라서 dp[i] = arr[i]로 초기화 했어야만 했다. 2. 가장
https://www.acmicpc.net/problem/15649
https://www.acmicpc.net/problem/10972구현수열의 순서를 생성하는 방법을 알아야만 풀 수 있다.실제로 규칙을 찾기엔 굉장히 복잡한데, 암기하는게 맞는 것 같고,CPP에는 이미 algorithm에 관련 함수가 구현되어있다.next_pe
https://www.acmicpc.net/problem/2667구현DFS의 가장 깔끔한 정석 문제라고 생각한다.map에서 1인 부분을 발견하면, 그 주변의 1을 끝까지 탐색하며,0으로 바꿔버리고 영역의 크기를 구한다.모두 구하면, vector에 집어넣는다.v
BFS DFS 경로탐색 문제 풀기DFS는 경로는 알 수 있지만, 최단거리인지는 불분명하고,BFS는 최단거리는 알 수 있지만, 경로는 불분명하다.DFS에서 경로탐색을 하는게 좋을지 BFS에서 하는게 좋을지https://www.acmicpc.net/problem/
프로그래머스 적응https://school.programmers.co.kr/learn/courses/30/lessons/1845문제점1\. max와 min함수 사용 불가.2\. 바보 같이 10000개인 것에 DFS를 사용하여 NM문제처럼 풀려고 함.(DFS는
https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=cpp구현직사각형이 주어지고, 커버할 수 있는 최소크기의 지갑을 구현.큰 것끼리 모아두고, 작은 것끼리 모아둔다.그리고 각각의 가
위의 내용대로 공부해본다.그리고 나의 전형적인 구현방식을 정의하고,각 방식끼리의 차이점을 정리한다.그리고 각각 최단 경로의 경로 자체를 출력하는 방식도 살펴본다.다익스트라는 한 시작점으로부터 다른 점까지의 최단 거리를 구하는 것이다.(아래의 그림의 경우라면, 1->1
(= MST, 최소신장트리)스패닝 트리란그래프의 모든 정점이 연결 되어있다.(= 연결그래프)사이클이 존재하지 않는다. 트리라고 볼 수 있다.(= 트리는 사이클이 없는 그래프)한 그래프에서 스패닝 트리는 여러 개 나올 수 있다.(원본 그래프는 무방향, 사이클 존재, 모든
문자열을 이진트리로 하여 prefix에 따라 배치하는 트리를 구현해보려고 한다.문제 사이트에서 적절한 문제를 선택하여 풀이해 본다.트라이? 말고 다른 개념도 있었던 것 같은데