목록전체 글 (768)
우노
코드 #include using namespace std; // 입력 int r, c; int main(void){ // 입력 // ex) 2 4 cin >> r >> c; // 출력 // ex) 2 4 cout
문제 링크 https://www.acmicpc.net/problem/1199 오일러 경로 및 오일러 회로 공통점 무향이나 유향 그래프가 있을 때, 그래프에 존재하는 모든 간선을 정확히 1번 씩만 방문하는 연속된 경로 차이점 시작점과 도착점이 다르면 오일러 경로 시작점과 도착점이 같으면 오일러 회로 오일러 경로 및 회로의 존재 여부 판단 무향(or 양방향) 그래프의 경우 차수가 홀수인 정점이 2개일 때, 오일러 경로 존재 즉, 시작점과 도착점의 차수만 홀수일 때 차수가 홀수인 정점이 0개일 때, 오일러 회로 존재 즉, 모든 정점의 차수가 짝수일 때 무향 그래프이기 때문에, 시작점과 끝점을 제외하고서는, 들어오는 간선이 있다면 반드시 나가는 간선이 하나 더 있어야한다. 따라서, 차수는 항상 2의 배수꼴을 가..
C++ 문자열 공백 제거 C++ 의 문자열 공백 제거는 아래 함수를 사용해 진행할 수 있다. std::remove (부분 STL 알고리즘 라이브러리) std::erase (대부분의 STL 컨테이너에 대한 내장 함수) std::remove 함수는 문자열 내의 공백을 검색해서 지우지만, 길이가 그대로 유지된다. 첫 번째와 두 번째 매개변수는, 문자를 제거할 범위를 의미하고 세 번째 매개변수는, 제거할 문자를 의미한다. 따라서, std::erase 함수를 이용해서, 비어있는 문자열까지 삭제해야한다. 첫 번째와 두 번째 매개변수는, 문자를 제거할 범위를 의미한다. 예제 코드 #include #include #include using namespace std; int main(void){ string st = "..
Google Coral 시리즈 (Dev Board, Edge TPU) Google Coral 시리즈는 Dev Board 와 Edge TPU 로 구성되어있습니다. Dev Board 와 Edge TPU 의 가장 큰 특징은 TPU 를 가지고 있다는 것입니다. TPU 는 Tensor Processor Unit 으로 Tensor 계산에 최적화된 연산장치입니다. 이때, Dev Board 는 완전한 보드 형태를 의미하고, Edge TPU 는 USB Accelerator 를 의미합니다. Dev Board 는 CPU, 메모리, 각종 인터페이스(USB, 이더넷 등)들을 가지고 있어 독립적으로 사용 가능합니다. Edge TPU 는 USB 로 연결 가능한 연산기로, 라즈베리파이 같은 장치에 연결하여 사용할 수 있습니다. 따라..
문제 링크 https://www.acmicpc.net/problem/9663 풀이 N-Queen 문제는, 크기가 NxN인 체스판 위에 퀸 N개를 서로 공격할 수 없도록 놓는 경우의 수를 구하는 문제이다. 퀸이 서로 공격할 수 없는 조건은 다음과 같다. 퀸이 놓였을 때 퀸 자신을 기준으로 일직선상(가로 및 세로)과 대각선 방향에는 아무것도 놓여있으면 안 된다. N-Queen 문제는 백트래킹의 가장 대표적인 예제로서, 퀸의 특성상 체스판 한 행당 한 개의 퀸만 존재할 수 있다는 것을 전제로 깔아두고 시작하는 것이 좋다. 또한, 이 문제는 N*N짜리 배열을 직접 만들 필요 없이, 크기가 N인 일차원 배열을 만든 후, 각 행의 몇 번째 열에 퀸이 있는지를 저장하는 방식으로 풀 수 있다. 예를 들어 N = 4일때..
#include 은 C 표준 유틸리티 함수들을 모아놓은 헤더파일이다. 이 헤더파일에는 프로그래밍 시에 범용적으로 사용되는 여러가지 함수들을 모아 놓고 있는데, 예를 들면 동적 할당 관련 함수, 난수 생성 함수, 정수의 연산 함수, 검색 및 정렬 함수 등 이다. 문자열 변환 함수 문자열로 입력받은 데이터를 수로 변환한다. 예를 들어 문자열로 "123" 을 입력 받았다면 이를 실제 정수인 123 으로 변환하는 함수들이다. atof : 문자열을 double 형으로 변환한다. atoi : 문자열을 정수형으로 변환한다. atol : 문자열을 long 형 정수로 변환한다. strtod : 문자열을 double 형으로 변환한다. strtol : 문자열을 long 형 정수로 변환한다. strtoul : 문자열을 uns..
#include #include 는 표준입출력에 관한 함수들이 정의되어 있는 헤더파일을 포함한다는 뜻입니다. 표준입출력 함수에는 printf, scanf 등이 있으며, 해당 함수들을 통해 사용자로부터 다양한 데이터를 다양한 서식에 맞춰 입력받을 수 있습니다.
MacOS에서 Windows의 Visual Studio같은 IDE는 대표적으로 XCode가 있다. 하지만, 뭔가 불편하고 특히, PS(Problem Solving) 공부할 때 input/output 에서 약간 문제가 있다. 또한, PS용으로 가볍게 소스코드 1개씩 실행시키려고 굳이 XCode와 같은 무거운 IDE를 쓸 필요도 없다. 그리고 착각하면 안되는것이, Visual Studio for mac 은 Windows의 Visual Studio에서 기능이 많이 빠져있는 라이트 버전이라 Windows의 Visual Studio처럼 사용할 수 없다. C++ 소스코드 하나 돌리는 용으로는 못쓴다. 그래서 대안으로 "Visual Studio Code" 를 많이 사용하는데 이것도 깡통상태에서는 IDE가 아니고 그냥..
pip란? 파이썬의 장점 중 하나는, 다양한 패키지들을 지원한다는 것이다. 패키지는 numpy, beautifulsoup 등이 있으며, 해당 패키지들은 파이썬으로 작성되어 있다. pip는 파이썬 개발에 필요한 패키지들을 설치 및 관리하기 위한 명령어이다. python3 및 pip3 설치 (Ubuntu) python3 설치 시, pip3 설치 sudo apt-get update -y sudo apt-get install python3 pip3 -y python3 --version pip3 --version pip3 만 따로 설치 sudo apt-get update -y sudo apt-get install python3-pip pip3 --version pip 명령어 정리 pip list 현재 내 컴퓨터에..
matplotlib.pyplot.figure reference https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.html example import matplotlib.pyplot as plt # figure 크기 설정 plt.figure(figsize=(15,7)) # grid 설정 plt.grid(True) # title 설정 plt.title() # x, y축 라벨 설정 plt.xlabel() plt.ylabel() # x, y축 범위 설정 plt.xlim() plt.xlim() # x, y축 눈금 설정 plt.xticks() plt.yticks() # 범례 plt.legend() # 그리기 plt.plot() # 보이기 plt.show() m..