본문 바로가기

분류 전체보기

(30)
[백준 17938] 퐁당퐁당2 www.acmicpc.net/problem/17938 17938번: 퐁당퐁당 2 이 경우에 입력 예시의 경우 사람이 5명이고 휘수는 4번에 위치한다. 5번째 턴에서 1번사람 양팔, 2번사람 양팔, 3번사람의 왼팔이 필요한데 휘수가 끼어들 수 없기 때문에 트롤에 실패한다. www.acmicpc.net 이번 문제는 완전히 수학적인 사고를 통해 풀어야하는 문제이다. 저는 전체적으로 큰 로테이션인 (1 ~ 2N ~ 2)를 하나의 큰 로테이션 루틴으로 잡고 풀었다. 한 루틴을 돌때, 쓰이는 손의 개수는 (1 ~ 2N ~ 2) = (1 ~ 2N) + (1 ~ 2N) - 1 - 2N 이다. (2N 과 1 은 중복되지 않기 때문!!) 여기서 1~2N의 총합은 (1+2N) * N이다. (가우스가 푼 방식을 이용) 게다가..
[백준 17838] 커맨드 www.acmicpc.net/problem/17838 17838번: 커맨드 T개 각각의 테스트 케이스에 대해 윤표가 좋아하는 커맨드이면 1, 그렇지 않으면 0을 한 줄에 하나씩 출력한다. www.acmicpc.net 이문제는 3가지 조건을 만족하는 문자열인지를 판단하는 문제로 상대적으로 난이도가 그렇게 어렵지 않았던 문제이다. 조건 1. 길이가 7 2. 문자 종류가 2가지 3. 커맨드 순서가 AABBABB 처음에는 2번조건이 testcase3 처럼 문자열이 2종류 이상만 고려했다가 모두가 다 같은 경우를 고려하지 못하고 틀렸었다. 그래서 문자열을 비교하는 조건중에서 맨 마지막인 조건 0번 index와 6번 index 문자열이 달라야하는 조건을 통해 2번조건을 지킬 수 있었다. #include using ..
[백준 2578] 빙고 www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 �� www.acmicpc.net 이문제는 처음에는 맵을 입력받고 하나씩 지워나가면서 우리가 늘 하던 익숙한 빙고게임과 똑같다 3 Bingo를 하면 게임에서 승리하며 그때까지 몇번에 도달하는지이다. 처음에 2차 for 문은 맵을 만드는 블록이고 맵은 두가지로 5x5로 글로벌 변수로 선언한 애는 빙고의 유무를 알려주고 1차원으로 된 맵은 구조체를 통해 숫자에 맞춰 어디 위치에 있는지를 나타내는 변수이다. 이러한 1차원 맵은 실제로 빙고문제로 풀때 적극 활..
[백준 11048] 이동하기 www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 �� www.acmicpc.net 이문제는 모든 경우의 수를 다루는 DP(Dynamic Programming) 알고리즘을 사용하여 풀 수 있다. 처음에 나의 접근 방법은 데이터를 다 받은 뒤에, 시작에서 끝으로 퍼져나가는 방식을 고려하여 풀려고 했다. 처음 코드 #include using namespace std; #define MAX_SIZE 1000 int g_nMap[MAX_SIZE][MAX_SIZE]; int Maxi..
[백준 15903] 카드 합체 놀이 www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 이문제를 보았을 때 자료구조중 priority queue를 사용하여 풀면 쉬운 모델이다. 그래서 단순이 c++ 에 내장된 priority queue를 사용하기 보다 이컨셉에 맞춰 직접 구현하면서 문제를 풀어보았다. 코드는 다음과 같으며 기존의 힙구조를 사용한 priority queue와 다르게 linked list 구조의 priority queue를 만들어 해도 충분할꺼 같..
ORB SLAM 웹캠 코드 오랜만에 글을 써볼 차례이다. 맨날 한다한다 하고 안하는거같아서 마음잡고 후딱 웹캠코드를 짜보려한다. 일단 코드는 저의 깃허브에 올려놓았으니 사용하시면 될거 같습니다. https://github.com/JongBeomBaek/ORB_SLAM2_WEBCAM JongBeomBaek/ORB_SLAM2_WEBCAM ORB SLAM2 Monocular webcam version. Contribute to JongBeomBaek/ORB_SLAM2_WEBCAM development by creating an account on GitHub. github.com 집에 보통은 뎁스카메라가 없기 때문에 monocular(single) 카메라로 실시간 웹캠 코드를 작성하려고한다. 코드를 설명하기 전에 준비해야할 것들을 알려..
tmux 설치 및 간단 사용법 안녕하세요 오늘은 터미널을 활용한 tmux를 알아보겠습니다. tmux를 알아보기 전에 tmux가 무슨 역할을 하는지부터 알아볼까요? 우분투에서 터미널을 사용하다보면 창을 여러개 띄우기 마련입니다 그렇지만 tmux는 한 창에서 영역을 분할해서 쓸 수 있습니다. 자세한 이야기는 생략하고 저는 제가 사용하는 명령어 위주로 설명 드릴려고합니다 (저는 쓰는 명령어만 쓰기 때문에 그 외 다른 명령어나 window, pane 과 같은 개념을 알고싶으시다면 다른 블로그에 자세히 포스팅 되있으니 참고하시길 바랍니다.) 일단 하기에 앞서 설치부터 해야겠죠? $ sudo apt install tmux 명령어를 통해 설치를 합니다 설치가 완료됬으니 한번 실행 해볼까요? $ tmux 다음 명령어를 실행하면 시작화면은 다음과 같..
termius 어플 소개 오늘 소개해드릴 친구는 모바일 앱(데스크탑용으로도 있음)인 termius에 대해서 소개해드리겠습니다. 아이콘은 다음과 같이 귀엽게 생겼구요 일단 설치해 보겠습니다 저는 아이패드가있어 아이패드 화면으로 보여드리겠습니다. 다음과 같이 심플하게 되어있습니다 여기서 우측 상단에 + 버튼을 눌러보시면 New Host 버튼이 있습니다 이걸 클릭합니다 Alias:별명 Hostname:컴퓨터 주소 두개를 입력하는란이 나옵니다 별명은 사용자가 알기편하게 이컴퓨터가 뭔지 간단하게 쓰시면 됩니다 ex) 저의 데스크탑인경우? "Baemi-Desktop" 이런식으로 지으시면 됩니다. hostname같은경우 공유기에 같이 연결되있으면 local망 ip주소를 확인하시고 넣으시면 됩니다 - linux 같은경우 $ ifconfig -..