티스토리

NO NAME
검색하기

블로그 홈

NO NAME

imperfectblog.tistory.com/m

유태정 님의 블로그입니다.

구독자
3
방명록 방문하기

주요 글 목록

  • Error: Image with src "..." is missing required "width" property. 기존 Next.js 프로젝트에서는 Stitches를 사용하고 있었다. 그런데, Stitches는 더 이상 적극적으로 유지보수 되지 않는다고 하여 사용성이 비슷하면서 제로 런타임의 이점을 갖는 PandaCSS로의 마이그레이션을 진행 중이다. PandaCSS 공식 홈페이지에서 안내된 대로 마이그레이션을 완료했는데, dev로 실행했을 때 제목과 같은 오류가 발생했다. 물론 next/image 패키지의 Image 컴포넌트를 사용할 적에 나는 width, height 속성을 잘 전달했다. 기존에도 잘 동작하고 있었다. 관련하여 검색해도 비슷한 사례는 찾아볼 수 없었다. styled 함수를 이용하여 Image 컴포넌트를 감싸서 사용하고 있었는데, import { styled } from "@/styled-syste.. 공감수 0 댓글수 0 2024. 2. 12.
  • useState는 initial value를 구독하지 않는다. function Textfield({ initialText }: { initialText: string}) { const [text, setText] = useState(initialText) console.log("(re)rendered with props: ", {initialText}) return setText(value)}/> } function App() { const [text, setText] = useState("Hello") const handleClick = () => { console.log("Button is clicked") setText("Bye") } return ( Hello ); } 위와 같은 리액트 앱이 있습니다. 위에서 Hello 버튼을 클릭하면 어떻게 될까요? 아마도.. 공감수 0 댓글수 2 2023. 7. 31.
  • NextJS 빌드 오류 EPERM, MODULE_NOT_FOUND pnpm + Turborepo + NextJS 조합으로 구성된 프로젝트를 윈도우에서 빌드할 때 아래와 같은 오류가 발생한다. $ pnpm build > @rsv/main@0.0.0 build C:\Users\*****\Documents\***********-********-*****\apps\main > relay-compiler --validate && next build [INFO] [default] compiling... [INFO] [default] compiled documents: 1 reader, 1 normalization, 1 operation text [INFO] Compilation completed. [INFO] Done. warn - You have enabled experimen.. 공감수 0 댓글수 1 2023. 5. 10.
  • IntelliJ + Spring Boot Profile 적용하기 실행 환경에 따라 런타임에 다른 값을 적용하고자 할 때, 각기 다른 프로파일을 불러와 값을 적용할 수 있다. IntelliJ Ultimate 버전에선 다이얼로그 창에 옵션을 넣어주는 것으로 간단하게 적용할 수 있지만, Community 버전에선 그런 기능이 제공되지 않는다. 구글 검색으로 나오는 방법은 Gradle > bootRun 실행/디버그 구성 편집에서 VM 옵션에 -Dspring.profiles.active=local 를 추가하는 것이다. 하지만 이 옵션을 넣어도 실행을 하면 default 프로파일이 적용되어 옵션이 반영되지 않음을 알 수 있다. Spring 공식 문서에 Profile에 관한 설명을 읽어보면, profile을 추가하려면 application.properties 파일에 다음과 같은 .. 공감수 0 댓글수 3 2022. 8. 21.
  • IntelliJ + Spring Boot 개발환경 준비 어쩌다가 Spring을 공부하게 됐다. 백엔드에 대해서 아는 것이 아무것도 없어서 막막할 따름이다. 일단, 도서관에서 책이라도 빌렸다. 책에서는 이클립스에 STS 플러그인을 설치하여 사용하는데, 현재는 해당 플러그인이 검색되지 않을 뿐더러 비슷해보이는 플러그인은 버전 문제로 설치조차 안 된다. 이클립스 최신 버전에서 다시 시도를 해볼까 생각을 해봤지만, IntelliJ에서 다시 시도해보기로 했다. 다행히, IntelliJ 공식 문서에 Spring 프로젝트 생성에 관한 가이드가 잘 작성돼 있었다. Spring | IntelliJ IDEA www.jetbrains.com 하지만, 위 문서에도 나와 있듯이 Spring 및 이와 관련된 플러그인에 대한 지원은 Ultimate 버전에서만 기본 제공된다. 난 Com.. 공감수 0 댓글수 0 2022. 8. 19.
  • 리액트 공부 #1 그저께부터 리액트 공식 홈페이지 자습서를 통해 리액트를 공부 중이다. 가볍게 읽으며 공부하기엔 제대로 이해되지 않기 때문에 메모를 하면서 공부를 해야겠다는 생각이 들었다. 그래서 블로그에 조금씩 메모를 남기며 공부할 것이다. 리액트를 공부하는 목적은 건우와 함께 만들 서비스의 웹 페이지를 구현하기 위해서다. 자습서: React 시작하기 – React A JavaScript library for building user interfaces ko.reactjs.org 개요 React.Component를 상속하는 클래스를 정의한다. 이 클래스는 HTML 태그처럼 사용될 수 있다. 이를 React 컴포넌트 클래스라고 부른다. 이러한 개별 컴포넌트는 props라는 멤버를 통해 매개변수를 받아온다. properti.. 공감수 0 댓글수 1 2022. 8. 16.
  • macOS에서 파이썬 개발환경 새로 준비하기 설치된 파이썬 버전이 한 둘이 아닌지라, 무턱대고 라이브러리를 설치하면 어떤 버전에 설치되는건지 여간 번거롭다. 그래서 homebrew로 하나의 버전만 유지하려고 기존에 있던 여러 파이썬 버전을 삭제하고 재설치를 했다. 환경변수는 당최 어떻게 수정하는건지 알 수 없어서 찝찝함이 남는다. 1. 기존 버전 삭제 rm -rf /usr/local/bin/python* rm -rf /usr/local/bin/pip* 2. 환경변수 삭제 brew doctor brew cleanup 3. 새로운 버전 설치 brew install python3 4. 환경변수 설정 vim ~./zshrc alias python=/usr/local/bin/python3 alias pip=/usr/local/bin/pip3 5. 번외 위와.. 공감수 0 댓글수 0 2022. 5. 21.
  • Docker에 OpenGL 환경 설정하기까지의 과정 작업환경은 Intel Iris Plus Graphics를 탑재한 MacBook Pro 2020년형이다. Visual Studio Code에서 작업할 것이며, Docker에 Ubuntu20.04 이미지를 사용할 것이다. 내 목표는 이 환경에서 파이썬 3.7 버전으로 OpenGL 창을 띄우는 것이다. 아래는 이를 위한 삽질을 기록하도록 한다. 도커 환경 설정 https://docs.microsoft.com/ko-kr/learn/modules/use-docker-container-dev-env-vs-code/ Visual Studio Code에서 Docker 컨테이너를 개발 환경으로 사용 - Learn Visual Studio Code Remote - Containers 확장을 사용하여 완전한 기능을 갖춘 컨.. 공감수 0 댓글수 0 2022. 3. 18.
  • [C++] 백준 13460번: 구슬 탈출 2 https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 시뮬레이션과 너비 우선 탐색을 통해 문제를 풀어볼 것이다. 보드의 정보가 입력된다. R은 빨간공, B는 파란공, O는 목적지를 나타내며 #은 벽을 나타낸다. 먼저, 이러한 정보를 어떻게 효율적이고 깔끔하게 다룰 수 있을지 고민해보자. 클래스를 하나 정의하여 사용해보면 가독성이 좋아지지 않을까. 성능은 일단 제쳐두고 가독성만을 생각하며 코드를 작성해.. 공감수 0 댓글수 0 2022. 2. 18.
  • [C++] 백준 1024번: 수열의 합 https://www.acmicpc.net/problem/1024 1024번: 수열의 합 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. www.acmicpc.net 오답 풀이 예제에 대해서 하나씩 계산을 해보았다. 우선, N에 예제 출력의 수열 길이를 나누었다. 그러자 규칙을 발견했다. 규칙은 다음과 같았다. 주어진 수를 N, 출력이 될 수열의 길이가 L이라고 했을 때, 다음 중 하나를 만족하면 답이 있다. L이 짝수이며 N에 L을 나누었을 때 나머지가 0.5이다. L이 홀수이며 N에 L을 나누었을 떄 나누어 떨어진다. 출력이 될 수열에서 첫 번째 값은 다음처럼 계산했다. L이 짝수라면 N에 L을 .. 공감수 0 댓글수 0 2022. 1. 26.
  • [C++] 백준 13305번: 주유소 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 오답 풀이 도시 나열의 전체 구간[0, N - 1]에서 기름 단가가 가장 낮은 곳을 찾는다. 그곳의 위치를 K라고 하자. 그 이후 구간[K, N - 1]의 전체 도로의 길이를 구한 뒤, K 도시의 기름 단가를 곱한 값을 ans에 누적한다. 이제, 도시 나열의 남은 구간[0, K - 1]에서 기름 단가가 가장 낮은 곳을 찾는다. 그리고 위를 K가 0이 될 때까지 반복한다. 이렇게 해서.. 공감수 0 댓글수 0 2022. 1. 26.
  • [C++] 백준 1912번: 연속합 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 오답 풀이 먼저, 누적합 배열을 계산했다. 그리고 누적합 배열에서 최소값과 최대값을 찾았다. 최소값보다 뒤에 있는 요소 중에 최대값을 찾고, 최대값보다 앞에 있는 요소 중에 최소값을 찾았다. 그리고 그 두 경우에서의 차 중 큰 값을 답으로 출력했다. 그리고 틀렸다. 정답 풀이 https://sihyungyou.github.io/baekjoon-1912/ 백준 1912번 : 연속합 BOJ sihyungyou... 공감수 0 댓글수 0 2022. 1. 24.
  • [C++] 백준 2143번: 두 배열의 합 https://www.acmicpc.net/problem/2143 2143번: 두 배열의 합 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000)이 주어지고, 그 다음 줄에 n개의 정수로 A[1], …, A[n]이 주어진다. 다음 줄에는 m(1 ≤ m ≤ 1,000)이 주어지고, 그 www.acmicpc.net Two Pointer로 어떻게 푸는거지 생각하다가 포기하고 답을 찾아봤다. 나는 아무리 생각해도 \(O({N^2M^2})\) 밖에 생각나지 않았다. https://debuglog.tistory.com/155 백준 2143번 - 두 배열의 합 백준 2143번 - 두 배열의 합 https://www.acmicpc.net/.. 공감수 0 댓글수 0 2021. 9. 14.
  • [C++] 백준 1644번: 소수의 연속합 https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 에라토스테네스의 체와 두 포인터를 활용하여 풀 수 있는 문제다. N까지의 소수 리스트를 구하는데 시간이 상대적으로 더 오래 걸린다. 처음 제출에서 시간초과가 나서 두 번째 제출에서는 sqrt, vector::size 중복 연산을 없애고 그 외 자잘한 산술연산도 줄였더니 AC를 받을 수 있었다. #include using namespace std; #define TC(T) int T; cin >> T; while(T--) #define FAST_IO cin.tie(NULL); ios::sync_with_stdio(fa.. 공감수 0 댓글수 0 2021. 9. 12.
  • [C++] 백준 17404번: RGB거리 2 https://www.acmicpc.net/problem/17404 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 전형적인 DP 유형의 문제다. 하지만 거기서 조금만 더 생각해야 했던 문제. 첫 번째 집을 어떤 색으로 칠했냐에 따라 마지막 집의 색이 제한된다. 그래서 나는 첫 집을 빨간색, 초록색, 파란색으로 칠했을 경우로 나누어 계산했다. 매 번 배열을 INF로 초기화 한 뒤, 앞 단계에서의 최솟값을 찾는 방식이다. #include using namespace std; #defi.. 공감수 0 댓글수 0 2021. 9. 10.
  • [C++] 백준 1806번: 부분합 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 골드4라기에는 난이도가 쉬운 편인 것 같다. 두 포인터라는 알고리즘 분류로 돼 있다. 나는 이름만 보고는 흔히 생각하는 start와 end를 0부터 N - 1까지 각각 훑는 O(N^2) 알고리즘인가 싶었다. 하지만 검색해서 알아보니 O(N) 알고리즘이었다. https://ssungkang.tistory.com/entry/Algorithm-Two-Pointers-%ED%88%AC-%E.. 공감수 0 댓글수 0 2021. 9. 5.
  • [C++] 백준 1197번: 최소 스패닝 트리 https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net CLASS 5에 진입하면서 새로운 알고리즘이 대거 등장하고 있다. 주어진 문제의 풀이를 스스로 생각하여 고안하기 보다는 새로운 알고리즘을 익히는 느낌으로 진행 중... 이번 문제는 다음 블로그의 글을 참고했다. https://gmlwjd9405.github.io/2018/08/28/algorithm-mst.html [알고리즘] 최소 신장 트리(MST,.. 공감수 0 댓글수 0 2021. 9. 3.
  • [C++] 백준 13172번: ∑ https://www.acmicpc.net/problem/13172 13172번: Σ 모듈러가 11에서 1,000,000,007이 되어 답이 달라졌지만, 역시 3을 곱한 다음 1,000,000,007으로 나눈 나머지는 7이 된다. www.acmicpc.net 문제 이해를 실패했다. 다른 사람의 블로그 글을 보고도 이해를 하지 못 했다. 다만, 여러 번 쉬는 시간을 가지고 시간이 좀 지난 후 다시 보니 무엇을 해야 하는지 이해가 됐다. 내가 이해한 것은 다음과 같다. 1. 주사위의 면의 개수와 각 면에 적힌 수들의 합이 N, S로 주어진다. 2. 각 주사위에 대한 기대값은 분수로 나타낼 수 있다. 3. 모든 주사위에 대한 기대값은 각 주사위에 대한 기대값의 합으로 나타낼 수 있다. 4. 모든 주사위에 대한.. 공감수 1 댓글수 0 2021. 8. 26.
  • [C++] 백준 10830번: 행렬 제곱 https://www.acmicpc.net/problem/10830 10830번: 행렬 제곱 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. www.acmicpc.net 과거에 이와 비슷한 문제를 푼 적이 있다. 그 때도 동일한 방법으로 문제를 해결했었는데, 그 때는 다른 블로그의 답안을 참고했었다. 분할정복법을 이용하여 O(log N) 시간에 문제를 해결할 수 있다. 입력이 최대 100,000,000,000으로 꽤 큰 수이지만 log_2(100,000,000,000) = 36.5밖에 되지 않으므로 시간초과가 나지 않는다. 같은 이유로 함수의 반환 형식을 vector로 남발해도.. 공감수 0 댓글수 0 2021. 8. 24.
  • [C++] 백준 11779번: 최소비용 구하기 2 https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 다익스트라를 이용해 풀 수 있는 간단한 문제였다. 경로를 확인하기 위해 최단 거리를 업데이트 하면서 방문 직전 노드를 배열에 저장했다. 최단거리를 모두 구한 후, 목적지 노드에서부터 거꾸로 내려가며 스택에 저장하여 최단 경로를 얻을 수 있다. 런타임에러가 계속 발생했는데 원인을 찾느라 꽤 오랜 시간이 걸렸다. 변수 명을 안쪽 스코프에서 바깥의 것을 중복하기도 했고 .. 공감수 0 댓글수 0 2021. 8. 23.
  • [C++] 백준 12851번: 숨바꼭질 2 https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net BFS를 활용한 문제다. 그런데 최소 거리를 갈 수 있는 경로의 가짓수를 알아야 하니까, 한 번 방문했다고 해서 탐색을 종료하면 안 된다. 따라서 처음 시도에서 나는 방문 체크를 하지 않고, 목적지에 도달할 때마다 해당 거리 key를 갖는 map의 한 element에 1씩 더했다. 그리고 그 key보다 거리가 더 길어질 때는 탐색을 종료하면서 연산량을 줄이려고.. 공감수 0 댓글수 0 2021. 8. 12.
  • [C++] 백준 5639번: 이진 검색 트리 https://www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net 예제를 직접 손으로 그려보면서 정답을 유추했다. BST이므로 전위순회 결과를 보면 트리가 어떤 모양인지 알 수 있는 것 같다. 그래서 전위순회 결과 순서대로 BST를 만들어주고, 이를 다시 후위순회하여 출력했더니 AC를 받았다. 간단한 문제였다. #include using namespace std; #define TC(T) int T; cin >> T; while(T--) #defin.. 공감수 0 댓글수 0 2021. 8. 11.
  • [C++] 백준 1504번: 특정한 최단 경로 https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 방향성 없는 그래프가 주어진다. 1번 노드에서 N번 노드까지의 경로 중 v1과 v2를 경유하는 최단경로의 길이를 출력하는 문제다. 나는 단순하게 다익스트라를 세 번 써서 시도했지만 WA를 받았다. 코드를 다시 살펴보며 문제를 찾으려고 시도했지만, 내가 의도한대로 동작하기에 문제가 없었다. 결국 인터넷에서 답안을 찾아 보았는데, 1 - v1 - v2 - .. 공감수 0 댓글수 0 2021. 8. 10.
  • [C++] 백준 14938번: 서강그라운드 https://www.acmicpc.net/problem/14938 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 플로이드 와샬 알고리즘을 통해 쉽게 풀 수 있는 문제다. 이번 문제를 풀 때는 코드를 가독성 좋게 나타내기 위해, 문제 풀이를 같은 기능으로 하는 몇 부분으로 나누어 함수로 나타내었다. 이렇게 하면 메인 함수에서 프로그램의 흐름을 쉽게 파악할 수 있을 뿐만 아니라 가독성도 좋아서 디버깅할 때 편할 것 같다. 디버깅을 위해 사용하는 함수도 별도로 분리해 놓아서 다른 함수들과 헷갈리지 않도록 했다. 이 문.. 공감수 0 댓글수 0 2021. 8. 6.
  • [C++] 백준 10989번: 수 정렬하기 3 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 수의 개수가 1천만인데 반해 수의 범위 구간은 [1, 10000]이다. 메모리 제한이 8MB라서 1천만개의 숫자를 모두 저장하면 메모리 초과가 발생한다. 10000까지 표현 가능한 데이터 타입 중 가장 작은 바이트 단위를 가진 short(2바이트)를 이용해도 19MB이다. 그래서 찾아보니 Counting Sort를 이용해야 한다고 한다. https://bowbowbow.tistory.com/8 Counting So.. 공감수 0 댓글수 0 2021. 8. 2.
  • [C++] 백준 15663번: N과 M (9) https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이 문제는 조합 만드는 유형의 시리즈 중 한 문제인 것 같다. 재귀함수를 이용하여 간단하게 풀 수 있었다. 입력되는 숫자 중 중복되는 것에 대해서는 map를 활용하여 해당 숫자의 갯수를 저장했다. vector에 출력할 숫자들을 하나씩 넣어가며 그 크기가 M이 됐을 때 출력하는 방식으로 코드를 작성했다. #include using namespace std; #define TC(T) int T; c.. 공감수 0 댓글수 0 2021. 8. 2.
  • [C++] 백준 13549번: 숨바꼭질 3 https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 과거에 이 문제와 유사한 문제를 풀어본 적이 있다. 이 문제는 일반적인 Queue를 사용하는 BFS가 아닌 Priority Queue를 사용해야 한다. 시간이 짧을 수록 먼저 계산돼야 하기 때문이다. 이 문제에 대한 답안을 제출하면서 여러 번 AC를 못 받았는데, 처음에는 Priority Queue를 안 썼고 두 번째에는 +를 -로 적는 오타가 있었고 세, 네번째.. 공감수 0 댓글수 0 2021. 7. 27.
  • [C++] 백준 1967번: 트리의 지름 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 이전에 풀었던 같은 이름의 문제(https://www.acmicpc.net/problem/1167)와 많이 유사한 문제다. 이 문제를 풀려고 오랫동안 고민했지만 풀이가 떠오르지 않아서 다음 블로그를 참고했다. https://lmcoa15.tistory.com/56 백준 1967번 - 트리의 지름 https://www.acmicpc.net/problem/1967 트리의 개념을 이해한 뒤에 DFS를 이용하여 문제를 해결하면 된다. 정답률이 40프.. 공감수 0 댓글수 0 2021. 7. 26.
  • [C++] 백준 1865번: 웜홀 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 음의 가중치를 갖는 그래프에서 최단거리를 계산하는 문제다. 알고리즘 분류는 벨만-포드라고 되어 있지만, 플로이드-와샬을 이용해 문제를 풀었다. 아마 시간복잡도는 비슷하지만 코드는 훨씬 간결할 것이다. 플로이드-와샬 알고리즘에 대한 설명은 다음 블로그를 참고했다. 24. 플로이드 와샬(Floyd Warshall) 알고리즘 지난 시간에는 다익스트라(Dijkstra) 알고리즘에 대해 학습했습니다. 다익스트라 알고리즘은 하나의 정점... blog.naver.. 공감수 0 댓글수 0 2021. 7. 26.
  • [C++] 백준 2263번: 트리의 순회 2263번: 트리의 순회 첫째 줄에 n(1≤n≤100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net 지난 1학기 자료구조 중간고사에서 유사한 문제가 출제 됐었다. in-order와 post-order를 주고 이를 만족하는 트리 그리기였나 그랬다. 하지만 충분한 시간 동안 고민해 본 결과, 어떻게 풀어야 할 지 몰라서 다음 블로그를 참고했다. 백준 2263번 트리의 순회 문제 링크입니다: https://www.acmicpc.net/problem/2263 직접 트리를 그려본 다음에 유도를 해보는 것이 제일 적절한 해법인 것 같습니다. 후위 순회를 기준으로 생각해보면 맨 마지막에 위치한 노드가 ja.. 공감수 0 댓글수 0 2021. 7. 20.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.