본문 바로가기

분류 전체보기150

const char* 자료형에서 순회를 하는 방법 Trie 자료구조를 공부하게 되며 const char * 형태의 자료형을 처음 보게 되었다. 위의 방식을 통해 string의 char 하나 하나를 순서대로 순회해줄 수 있다. 2022. 9. 7.
3973 Time To Live (c++) 다른 문제들을 풀다 막힘이 생기면 쉽게 쉽게 알고리즘 분류를 켜고 정답 코드를 찾아봤던 것과는 다르게 이 문제는 처음부터 끝까지 혼자 고민하며 온전히 나 스스로 해결하게 될 것이다. 문제 링크 : https://www.acmicpc.net/problem/3973 -- 문제 풀기 전에 했던 고민 -- 실수 1 문제를 잘못 이해해 트리의 전체 TTL값을 최소로 하기 위한 방법을 고민하였다 관찰 1 최대 TTL값은 항상 Leaf node에서 발생한다 - Leaf node마다 bfs를 돌려서 마지막에 만나는 곳을 라우터로 하여 정답을 찾는다 (?) -- 첫 다짐을 깨버리게 되었다. 정답 풀이 어느 한 지점에서나 bfs를 돌리면 마지막에 방문하게 되는 노드(이 노드는 무조건 leaf일 수 밖에 없음)는 길게 늘어.. 2022. 8. 7.
백준 13913 메모리초과(c++) 부모배열을 통해 탐색 여부를 판단했다(parent[n] != 0) 하하... 하지만 parent[n]은 0으로 지정될 수도 있다는 것을.... 기억하자 2022. 8. 5.
9177 단어 섞기(dp, c++) 주석처리한 부분 사용했으니 i도 j도 다음으로 넘겨줄 수 있게 되는 것 이다....... #include using namespace std; typedef long long ll; typedef pair pii; #define pb push_back #define ff first #define ss second #define fast_io ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) int dp[210][210]; string s1, s2, s3; int main(){ fast_io; int n; cin>>n; for(int t=1;t 2022. 8. 5.
C++ 1ll(1LL)이란 Codeforces의 editorial을 보면 자주 나오는 요소가 있다. 바로 1LL(1ll)이다. 1ll이 어떠한 역할을 하는 걸까? 알아보도록 하자. 위 코드의 출력은 무엇일까? 전혀 예측할 수 없는 값이 나온다. int형으로 선언된 변수 n의 범위를 벗어나 overflow가 발생한 것이다. // int는 32비트를 사용하는 변수이다. 그렇다면 이 코드의 출력은 어떻게 될까? 컴파일러가 warning 해주는 그대로이다. C++에서는 기본 연산을 int(-2^31+1 ~ 2^31-1) 내에서 진행한다. 따라서 1번 코드와 똑같은 Integer overflow가 발생하는 것이다. 이쯤에서 1ll이 무엇인지 어떤 역할을 하는지 설명해보도록 하겠다. 1ll을 '1'과 'll'로 두 개로 쪼갤 수 있다. 앞의.. 2021. 11. 24.