본문 바로가기

컴퓨터58

[Linux] Vim 사용법 (VI아님) 생존형 기능 포함 안녕하세요!! 오늘은 리눅스의 VIM 사용법에 대해서 알아보겠습니다. 일반적으로 VI와 VIM의 조작법은 약간 다릅니다. VI는 hklj로 움직여야 합니다. 정신을 못차릴 수 있습니다. VIM은 VI의 Improved 버전이라서 방향키로 글자를 앞 뒤로 움직일 수 있고, backspace가 먹힙니다. ​ 기본적인 복사 삭제는 안다고 가정하겠습니다. yy, p, 10yy, 10dd, x, 등등.. ​ 알아볼 기능들 (생존형 기능) 1. Visual Mode(여러줄 드래그해서 사용하는 법), 여러줄 잡아서 움직일때 좋음. 2. Undo (실수 했을때 되돌리기 기능, ctrl + z하면 연봉 500만원 삭감) 3. 검색기능 ( 구글크롬에서 '/' 누르듯.. ) 4. 방향키 말고 위 아래로 여러칸씩 움직이는 방.. 2021. 9. 13.
[BOJ] 2230. 수 고르기 (이분탐색버전) https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net 투 포인터 이분탐색의 발상을 배웠습니다. *홍보* 문제풀이 강의를 한번도 들어본적이 없다가 BarkingDog님 알고리즘 강의를 처음으로 들었는데.. 이정도 강의 퀄리티면 문제풀이 강의 듣는 사람들의 입장이 이해가 가는 것 같습니다. ​ 뭐랄까.. 모든 문제를 시간들여 다 풀면서 느끼면 더 좋겠지만, 현실적인 제약이 따르잖아요? 또한 수학 풀때도 느꼈지만, 아무리 아인슈타인이라.. 2021. 9. 7.
[BOJ] 배열돌리기 2 (겉면부터 하나씩 돌려도 된다) https://www.acmicpc.net/problem/16927 16927번: 배열 돌리기 2 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 처음에 뭐가 다르지? 했는데, R이 다르다 R이 1천 -> 10억이다. 시간이 오래 걸렸다. 몇시간 걸렸다. 왜 그랬는지 알아보자. 1. 뭔가 %로 나눠야한다는건 알았다. N*M으로 나눴다. 대체 왜 이런 생각을 했는지 모르겠다. 당연히 틀렸다. 2. 생각해보니까 맨 바깥 줄이 5*4에서 14번만에 제자.. 2021. 9. 1.
[BOJ] 15683. 감시 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 배운점 : barking dog 님의 풀이(4진법으로 풀기)는 굉장히 아름다운 풀이였다. 스스로 풀었는데, 난 백트래킹이라고 생각하는데 pruning이 없어서 그냥 완전탐색이다. 근데 난 머리속에 이 그림을 상상하며 풀었다. 이걸 손으로 구현하면 풀리겠다고 생각했다. 1. std::copy로 배열복사하는법 배웠다. (지정한 배열사이즈만큼 복사해야한다) int board_copy[10][.. 2021. 8. 31.
[BOJ] 16926. 배열돌리기 1 https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 배운점 : 규칙적으로 돌리면 코드가 더 깔끔해진다. ^^ ( ​ 죄송합니다.. 설명하려고 그림 그렸는데 다 푼 문제에 똥을 뿌려버렸네요 ​ 그.. 삽입정렬 아시죠? 2,3,4,5 에서 배열을 추가하지 않고 옮기려면 어떻게 했나요? ​ X 2 3 4 5 맨 뒤에 1칸을 더 할당해서 맨 오른쪽부터 왼쪽으로 .. 2021. 8. 30.
[Programmers] 2021 카카오 인턴십 2번 - 거리두기 확인하기 https://programmers.co.kr/learn/courses/30/lessons/81302?language=cpp 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 처음에 풀었을때 방향이 너무 많아서 이게 뭐지? 싶었는데.. 침착하.. 2021. 8. 25.
[BOJ] 12865. 평범한 배낭(0-1 knapsack) ttps://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 그리디를 하면 망해버립니다. ​ 처음에 0-1 knapsack이란걸 모르다가, 이건 DP인것 같은데 DP를 어떻게 해야할까? 라는 고민을 했습니다. 그 다음에 했던건 그리디의 느낌으로.. ​ 1. 실패한 과정 (그리디) Value 순으로 내림차순 정렬을 했습니다. 맨 위에부터 계속 value를 더합니다. 그다음 w도 누적으로 더해줍니.. 2021. 8. 20.
[OS] Three Easy Pieces - Intro 지난학기에 너무 학점을 많이 듣기도 했지만, 너무 비효율적으로 공부를 해서 포스팅도 못했는데, 방학이기도 하니 이제 해보려고 합니다. ​ https://pages.cs.wisc.edu/~remzi/OSTEP/ Operating Systems: Three Easy Pieces Blog: Why Textbooks Should Be Free Quick: Free Book Chapters - Hardcover - Softcover (Lulu) - Softcover (Amazon) - Buy PDF - EU (Lulu) - Buy in India - Buy Stuff - Donate - For Teachers - Homework - Projects - News - Acknowledgements - Other Bo.. 2021. 8. 19.
[C] C의 qsort는 어떻게 짰을까? (유명 석박사들의 코드 훔쳐보기), shift 연산을 해야하는 이유 반갑습니다!!! ​ 오늘은 저녁에 뭔가 인강듣기는 싫고,, 복습하기도 싫어서 C언어의 소스코드는 어떻게 생겼나 훔쳐봤습니다. ​ 여러가지를 보다가 재미있는걸 발견했는데, 공유하기 위해서 저도 씁니다^^ ​ c++의 sort는 여러가지 소트를 합친걸로 알고있습니다. Tim,intro, heap,quick 등등.. 여러개를 합쳤는데요. ​ 예전에 알고리즘 수업에서 과제 중 하나가, 어떤 숫자에서도(숫자 몇십억개가 넘는) 가장 빠른 정렬을 할 수 있는 코드를 짜는게 숙제였습니다. 그걸로 학생들의 시간을 측정해서 차등으로 성적을 매겨줬습니다. ​ 그때 굉장히 많이 찾아봤었는데, 저는 median-of-three라는 pivot 설정으로 quicksort를 짰는데, pivot 고르는걸 잘못했는지.. 어디 하자가 있.. 2021. 7. 31.
[BOJ] 2579 계단오르기, C Macro function(매크로함수) https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 실수를 남기는 글입니다. 풀이방법 : DP DP는 어떻게 풀까요.. 이론상 O(N)인데, 이 안에 맞추려면 점화식을 찾고, 이전에 계산한 내용으로 다음 내용을 맞추죠. 테이블을 채워나간다고 생각하더라구요. 뭐 지금 그렇게 느끼고 있습니다. 이건 2차원 배열로 풀었습니다. DP table을 왜 2차원으로 만드는 생각은 못했을까요. 항상 다른 방향으로 생각하자고 생각하는데.. 열정으로 노력합시다!! 열정!! 규칙.. 2021. 7. 26.
728x90