목록컴퓨터 (46)
마이라이프해피라이프
✅ 문제https://www.acmicpc.net/problem/2805✅ 이진 탐색이진 탐색 문제의 특징이진 탐색 문제는 대부분 데이터가 굉장히 많아서, 탐색에 시간이 굉장히 오래걸릴 거 같은 느낌이 드는 문제이다.이 문제 역시도 데이터(나무의 높이)가 최대 1000000000 일 수 있어, 1씩 높여가면서 탐색을 하려고 할 때 시간 초과가 날 거라는 건 쉽게 짐작할 수 있다.참고로 이 자료를 저장할 수 있을 만한 자료형에 적절히 저장해야 한다. (long long 등)이진 탐색 문제를 풀려면?이진 탐색 문제에서는 정렬을 하거나, 최대 최소 값을 아는 것이 중요하다.중간값을 적절히 찾아야하고, start지점과 end지점을 적절히 업데이트 해야 한다.종료 조건도 중요하다. 언제까지 이 탐색을 계속할 것인..
문제https://www.acmicpc.net/problem/24444BFS와 DFS?그래프 탐색 알고리즘으로는 흔히 아는 BFS와 DFS가 있다.BFS는 너비 우선 탐색이고, DFS는 깊이 우선 탐색이다.1번과 연결된 노드가 2, 3이고 2와 연결된 노드가 4이라고 가정해 보자. BFS로 탐색하면 1 -> 2 -> 3 -> 4의 경로로 탐색할 것이다. DFS로 탐색하면 1 -> 2 -> 3 -> 4의 경로로 탐색할 것이다. (오름차순으로 방문한다고 가정했을 때) BFS는 같은 깊이의 노드를 모두 탐색하고 난 다음에 더 깊은 노드로 들어간다. DFS는 연결된 가장 깊은 노드로 먼저 이동한다.BFS는 어떻게 구현되는가?BFS는 주로 deque로 구현한다. 왜냐하면, deque는 push_back(), po..
1620 - 나는야 포켓몬 마스터 이다솜https://www.acmicpc.net/problem/1620새롭게 알게된 자료형 - unordered_map특징- 해시 기반으로 검색하는 자로형 (검색이 빠름 O(1)의 복잡도)- 삽입된 순서를 기억하지 않음- 메모리 사용량 많음- 자체적으로 정렬할 수 없음. 정렬하고 싶을 때는 vector 등의 자료형으로 변환한 후에 정렬해야 함. std::vector> sortingArray(entryRecord.begin(), entryRecord.end()); std::sort(sortingArray.begin(), sortingArray.end(), [](std::pair& a, std::pair& b) { retu..
💻 문제 - 2480 번 조건문https://www.acmicpc.net/problem/2480✅ 관련 이론vector 자료형vector::iterator type으로 요소에 접근한다.vector.begin(), vector.end()로 처음과 끝의 포인터를 확인한다.원하는 index의 값을 얻으려면 vector.begin() - iter로 접근한다. vector.at(index)로 원하는 index에 접근한다. (index 범위가 유효하지 않을 때 out_of_range 오류가 발생한다.)reverse로 접근하고 싶을 때는 vector::reverse_iterator로 접근한다.vector.rbegin(), vector.rend()로 처음과 끝의 포인터를 확인한다.이때, 접근하는 iterator는 처..
💻 문제 - 11382 번 입출력https://www.acmicpc.net/problem/11382 ✅ 관련 이론int 자료형 크기short: 2 bytes 이상int: 2 bytes 이상long: 4 bytes 이상long long: 8 bytes 이상(자료형 크기는 운영체제에 따라 다르기 때문에 sizeof를 통해 확인해야 한다.)signed와 unsignedsigned는 음수, 양수를 저장할 수 있는 타입이다. (ex. 1 bytes면 -128~127 저장)unsigned는 양수만 저장할 수 있는 타입이다. (ex.1 bytes면 0~255저장)문제에 적용한 이론문제에서 필요한 a,b,c는 1~10^12의 값을 가질 수 있음.(최대 13자리)각각의 변수는 최소 8 bytes를 저장할 수 있어야 함..
오류 메세지 [process exited with code 1 (0x00000001)] 해결방법 오류가 발생했던 건 어이없게도 저장 공간이 부족해서였다.. 쓸데없는 파일을 없애고 저장 공간을 확보하니 다시 실행되었다..
[문제] vscode에서 모듈 import할 때 실행은 제대로 되는데 빨간줄이 없어지지 않을 때 [해결] go mod init [모듈명] -> 모듈 초기화 (모듈명은 마음대로 정해도 됨) go mod tidy -> 의존성 정리
ubuntu를 다시 설치하고 몬생긴 터미널을 마주하게 되었다. 내 프리티한 친구들.. 다 어디 갔니... 하나씩 차근차근 되돌려놓아야겠다. 1. 이름 없애기 기본으로 뜨는 이름@컴퓨터 이름이 공간을 너무 많이 차지해서 없애버리고 싶었다. vi ~/.zshrc 로 .zshrc 파일을 열어서 가장 아래로 내린 다음 prompt_context() {}을 추가했다. (저장은 :wq 입력) (변경 사항을 반영하려면 source ~/.zshrc) 2. 유용한 plugin 설치하기 터미널에 git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git cl..
go 공부를 하기 위해 wsl에 접속했다. 근데 이런 오류가 뜨면서 아예 실행되지 않았다. (어제 하루 안 들어왔다고 이러기냐..) [process exited with code 1 (0x00000001)] 인터넷에 검색해 나온 해결책을 모두 시도해 봤지만 0x80070005 오류가 뜨면서 문제가 해결되지 않았다. 슬픈 마음으로 ubuntu를 지웠다가 재설치했고, 이전에 wsl1에 있던 작업물들을 다 날려먹었다. (만약 비슷한 오류가 나서 wsl을 지우려는 사람이라면 최대한 작업물을 백업할 수 있는 방법을 알아보고 하는 것을 추천한다) 그래봤자 연습코드 몇 개뿐이어서.............슬프다. 정말 많이 슬프다. window에서 개발하는 거 너무 서럽다. . . . wsl2로 업데이트하려는 생각은 가..
1. 2번째 시도 저번에 go import error를 해결하려다 실패하고 다른 방법을 찾아 올렸었는데 이번에 또 다른 패키지를 설치하면서 '이대로는 못 살겠다'는 생각이 들어 근본적인 해결책을 찾아보고자 하였다. 다시 해결책을 찾아보면서 이건 분명 근본적으로 gopath, goroot에 문제가 있는 것이라는 생각이 들었다. gopath, goroot는 따로 설정했을 수도 있고 아닐 수도 있다. go 공식 홈페이지에도 gopath를 설정하는 법이 설명되어 있다. 정확히 기억이 나진 않지만 설치 과정 중에서 ~/.zshrc 파일을 열어 go와 관련된 설정을 추가했었다. go path와 go root에 대한 개념이 없어 그냥 따라하라는 대로 따라했던 것 같다. 2. GO PATH, GO ROOT 다시 찾아보..