[Coding] 시간 복잡도(Time complexity)와 공간 복잡도(Space complexity) 정리하기
·
Coding
알고리즘 공부를 하다보면 시간복잡도와 공간복잡도를 고려해야하는 문제를 만나고는 합니다.특히나 외국계 코딩테스트 현황에 맞추어 Leetcode를 이용하시면 많이 만나실텐데요!대게 외국기업은 우리나라의 주요 기업 코딩테스트 보다 이 코드를 얼마나 더 자원 효율적으로 쓸 수 있는지를 보는 것 같습니다.시간 복잡도(Time complexity)와 공간 복잡도(Space complexity)는 아래 처럼 생각하실 수 있습니다.얼마나 빠르게 코드가 동작하는가? (시간, CPU)코드 동작에 메모리를 얼마나 소요하는가? (공간, RAM)이러한 효율성을 수학적으로 나타낸 표기법을 Big O 표기법이라고 합니다! 1. 시간 복잡도 (Time complexity)시간 복잡도는 실제로 코드가 돌아가는 초를 재는 것은 아닙니다..
[ubuntu22.04] 우분투 초기 설치 시 검은 화면 해결법
·
Errors
https://iwillteachyou.tistory.com/entry/ubuntu2204-우분투-초기-설치-시-GRUB-fatal-error-해결법 [ubuntu22.04] 우분투 초기 설치 시 GRUB fatal error 해결법우분투를 초기에 설치할 때, 성공적으로 다 설치되었다고 생각될 때 즈음에 아래와 같은 에러가 뜰때가 있습니다.Executing 'grub-install /dev/sda' failed.This is a fatal error혹은 Executing 'grub-install /dev/nvme0n1iwillteachyou.tistory.com GRUB fatal error를 해결했더니 boot repair 후에 재부팅해서 들어오면 검은 화면만 뜰때가 있습니다.해당 검은 화면은 아마 추..
[Coding] Increasing, Non-decreasing, Decreasing, Non-increasing 수열 용어 정리하기
·
Coding
Leetcode 를 풀다보면, "Given an array num sorted in non-decreasing order ..." 과 같은 문구를 자주 접하게 됩니다!그냥 오름차순과 내림차순의 차이라고 생각할 수 있지만 다양한 수열 용어들이 있기 때문에 간단히라도 한번 알고 넘어가야합니다. Increasing vs Non-decreasing먼저, Increasing 과 Non-decreasing은 이름처럼 증가하는 수열입니다.하지만 Increasing은 절대적으로 증가해야하고 Non-decreasing은 말그대로 감소만 하지 않으면 되기 때문에 같아도 상관없습니다. $$\text{Increasing}\;\; \rightarrow\;\; a\\\text{Non-decreasing}\;\; \rightar..
[ubuntu22.04] 우분투 설치 후 화면 해상도가 고정되서 바꿀 수 없을 때 해결법
·
Errors
오늘은 우분투 설치 후에 해상도가 고정되었을 때 해결할 수 있는 방법을 알아보겠습니다!저도 우분투를 여러번 설치하면서 많이 겪었던 문제인데요, 그래픽 드라이버의 문제이기도 합니다. 특히 요즘같은 시대에 드라이버가 많이 나오게 되면서 우분투와의 호환성 문제가 점점 많이 나타나는 것 같음을 몸소 느끼고 있습니다.어쩌면 우분투의 업데이트 속도가 gpu 의 발전 속도를 따라 가지 못하기 때문일 것 같네요.특히 몇달전에 nvidia gpu 50 시리즈 한대를 구매했는데 역시나 우분투에선 호환이 되지 않았습니다. 그래서 저 같은 경우에는 화면 해상도도 너무 크게 고정이 되어있어서 불편했는데 이를 해결하기 위한 방법을 기록하겠습니다. 보통 이런 경우에는 우분투 setting에서도 크기 변경이 불가능합니다.그래서 저희..
[ubuntu22.04] 우분투 초기 설치 듀얼 부팅 시 윈도우로만 진입될 때 해결법
·
Errors
저는 우분투를 설치할 때 늘 듀얼부팅으로 설치합니다. 원래는 우분투를 정상적으로 설치 후 컴퓨터를 리부팅하게 되면 운영체제를 선택하는 화면(grub)이 나와야 합니다.그런데 종종 부팅 선택 화면이 나오지 않고 바로 window로만 들어가지는 현상을 만날 때가 있습니다.저도 여러번 만났던 부분인 만큼 스스로 정리해놓고자 작성합니다! 인터넷에 많은 유저분들이 다양한 해결법을 포스팅 해주셨는데요, 저는 대부분 아래의 방법으로 해결이 되었습니다.부팅 시 윈도우로 진입되었을 때 관리자 모드로 명령 프롬프트를 열어줍니다.아래의 명령어를 입력해 준 후 다시 부팅해주면 정상적으로 듀얼부팅이 됩니다!bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
[ubuntu22.04] 우분투 초기 설치 시 GRUB fatal error 해결법
·
Errors
우분투를 초기에 설치할 때, 성공적으로 다 설치되었다고 생각될 때 즈음에 아래와 같은 에러가 뜰때가 있습니다.Executing 'grub-install /dev/sda' failed.This is a fatal error혹은 Executing 'grub-install /dev/nvme0n1' failed.This is a fatal error이렇게 뜨는데요.심지어 fatal error, 치명적 오류라고 되어 있어서 처음 설치하시는 분들께는 상당히 위협적인 문구인 것 같습니다. 사실 이 문구는 grub가 정상 설치가 되지 않았을 뿐 우분투는 정상적으로 설치된 상태입니다!지금부터 이 에러를 해결하는 방법을 알려드리겠습니다. 첫번째로, 에러 문구가 난 창의 'OK' 버튼을 누릅니다.그러면 제가 앞서 말한 것 ..
[cuda/ubuntu20.04] 우분투 환경에서 cuda cudnn 버전 변경 및 설치하기
·
Errors
GPU를 통해서 학습을 돌리기 위해서는 버전에 맞는 CUDA를 쓰는 것이 필수적입니다.심지어 어떤 라이브러리들은 쿠다의 환경에 맞추어 드라이버를 설치해야하기도 합니다.그래서 가끔은 학습을 돌리다가도 버전의 문제 때문에 학습을 돌릴 수 없는 아주 난감한 상황이 되기도 합니다...(저도 엄청 자주 만나는 상황이긴 합니다..ㅎㅎ) 오늘은 이런 쿠다 버전을 우분투 환경에서 어떻게 업그레이드 혹은 다운그레이드 하는지 알아보겠습니다!처음 설치하시는 분들도 아래의 과정을 따라하시면 됩니다. 기존에 설치된 쿠다 삭제쿠다는 콘다처럼 가상에 설치하는 것이 아닌 드라이버로써 로컬에 설치되게 됩니다.따라서 쿠다의 버전을 변경해야한다면 일단 깨끗하게 지워줘야 합니다. 일단 저의 어떤 문제가 확인하기 위해 일단 콘다 환경에 설..
[ubuntu20.04] 우분투 설치 후 인터넷 연결 없이 wifi 드라이버 설치하기
·
Errors
** 본 게시글은 사용자의 하드웨어 환경에 따라 해결방법이 매우 다릅니다 ** ubuntu20.04를 새로 설치하고 나서 추가적인 패키지를 설치하려고 했더니 wifi가 안잡혀서 드라이버를 설치하려고 합니다.그런데, 제가 있는 환경에서는 인터넷 신고를 하고 랜선에 새로운 ip를 부여해야해서 꽤나 귀찮았기 때문에 인터넷 연결 없이 wifi 드라이버를 설치하는 방법을 생각해보았답니다! 우선, usb와 인터넷 연결이 되는 노트북이나 다른 컴퓨터가 필요합니다.usb에 wifi 드라이버 파일을 직접 설치할거기 때문에 아래 링크로 들어가줍니다. https://archive.ubuntu.com/ubuntu/pool/universe/b/backport-iwlwifi-dkms/ Index of /ubuntu/pool/un..