본문 바로가기
반응형

전체 글98

백준 10250 ACM 호텔 언어 : C++ 문제 https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 풀이 회고 쉬운 문제임에도 불구하고 너무 쉽게 가려하다가 실수를 했다. 급할수록 돌아가라는 말도 있는것처럼 너무 빨리가려고 하면 오히려 실수를 유발할 수 있다. 앞으로는 돌다리도 두들겨 보고 건너는 습관을 들여야겠다. 2022. 7. 13.
백준 11866 요세푸스 문제 0 문제 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 풀이 회고 큐를 활용한 알고리즘으로 문제를 해결 하였고 처음 제출 했을때는 K가 1일때를 고려 안해주고 또 i % K ==0이 아니라 i == K일때로 해주어 시간 초과가 나왔었다. K가 1일때는 고려하고 조건문을 수정하니 정답이 되었다. 알고리즘을 해결했다고 생각하고 섣부르게 제출했다가 종종 시간 초과나 확인 못한 조건 때문에 오답처리 되곤 하는데 그 점을 주의 하면서 차분하게 문제 푸는 습관을 들여야겠다. 2022. 7. 12.
백준 10773 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net #include #include using namespace std; 스택 자료구조를 활용하여 문제를 해결하기 위해 인클루드 해주었다. 회고 c++의 라이브러리 stack을 활용하여 알고리즘을 해결해 보았다. 자료구조를 활용하여 문제를 푸니 조금더 간결한 코드가 나왔다. 2022. 7. 12.
머신 러닝의 훈련 세트와 테스트 세트 https://glorychoi.tistory.com/entry/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D%EB%94%A5%EB%9F%AC%EB%8B%9D 혼자 공부하는 머신러닝+딥러닝 생선 분류 문제 *도미와 빙어 구분 각 도미와 빙어의 특징을 특성이라고 한다. 아래 설명은 두 가지 특징(길이, 무게)를 사용하여 설명한다. 도미 데이터 준비 산점도 길이를 x축으로 하고 무게를 glorychoi.tistory.com 생성 분류 문제를 공부했을때 머신러닝 프로그램에서는 문제점이 존재했는데 그 문제점은 도미 35마리와 빙어 14마리를 모두 저장하고 맞추는 것이다. 오늘 공부를 통해 이 .. 2022. 7. 11.
혼자 공부하는 머신러닝+딥러닝 생선 분류 문제 *도미와 빙어 구분 각 도미와 빙어의 특징을 특성이라고 한다. 아래 설명은 두 가지 특징(길이, 무게)를 사용하여 설명한다. 도미 데이터 준비 산점도 길이를 x축으로 하고 무게를 y축으로 정하여 점을 표시하고 이런 그래프를 산점도라고 부른다. 산점도를 그리기 위한 코드는 다음과 같이 matplotlib을 활용해 그릴 수 있다. 빙어 데이터 준비 산점도 첫번째 머신러닝 프로그램 k-Nearest Neighbors (k-최근접 이웃) 알고리즘을 사용해 도미와 빙어 데이터를 구분해 본다. k-Nearest Neighbors (k-최근접 이웃) 알고리즘을 사용하기 전 준비했던 도미와 빙어 데이터를 하나의 데이터로 합친다. scikit-learn(사이킷-런) 패키지를 사용하기 위해 2차원 리스트를.. 2022. 7. 11.
백준 10828 문제 링크 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 이 문제는 stack을 구현하는 문제로 stack을 구현하기 위해 vector를 사용하였다. int 형 변수를 선언해 명령의 수를 입력 받았고 vector를 선언해 스택을 관리하였다. 회고 c언어 자료구조에서 배웠던 stack을 c++에서 vector를 사용해 구현해보니까 스택의 동작 원리를 안다면 누구나 쉽게 풀 수 있는 문제였다. 혹시나 하는 마음에 자료구조를 이제.. 2022. 7. 9.
카운팅 정렬(Counting Sort) 카운팅 정렬이란? 카운팅정렬은 값을 비교해서 정렬하는 방식이라기 보다는 값의 갯수를 세고 그 갯수에 따라서 위치를 성정하는 방식이다. 동작 원리는 다음과 같다. 3,2,2,3,1 와 같은 Array(배열)가 있을때 3 2 2 3 1 1. 각 데이터의 갯수를 모두 카운트 해준다. - 위의 경우 Count[3] = 2; Count[2] = 2; Count[1] = 1가 된다. 2. 누적합을 계산하는 방식으로 1부터 최대값까지 누적 합하여 계산을 해준다. - 예를 들면 Count[1] = Count[1] + Count[0] = 1 Count[2] = Count[2] + Count[1] = 2 + 1 = 3 Count[3] = Count[3] + Count[2] = 2 + 3 = 5 따라서 Count[1] = .. 2022. 7. 8.
백준 10989 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 구현 언어 : c++ 입력: 출력: 카운팅 정렬을 활용해서 정렬이 잘 된것을 확인 할 수 있다. 2022. 7. 8.
백준 1225 https://www.acmicpc.net/problem/1225 1225번: 이상한 곱셈 첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는 음이 아닌 정수이다. 수가 0인 경우에는 0만 주어지며, 그 외의 경우 수는 0으로 시작하지 않는다. www.acmicpc.net 풀이 2022. 7. 6.
범위 지정 연산자 :: c++에서 ::는 범위 지정 연산자로서 함수나 변수명을 범위에 따라 구분하여 사용하고 싶을 때 사용된다. 여러 범위에서 사용된 식별자(identifier)를 식별하고 구분하는데 사용하는 연산자. 1. ::식별자 범위 지정 연산자를 변수의 이름 앞에 붙이면 전역변수로 사용하는 의미가 된다. 전역 변수에서 선언된 것에 직접 접근할 수 있다. 특히 같은 이름의 변수로 전역변수와 지역 변수가 선언 되있을 경우에 지역변수에 의해 무시된 전역변수에 접근할 수 있게해준다. 예를 들면 a라는 변수가 지역변수와 전역 변수로 있을 있을때 범위 지정 연산자를 통해 전역 변수에 접근할 수 있다. 2. 클래스명 :: 실별자 클래스에 있는 함수등을 사용할 때 사용하며 클래스에 접근 할때 범위 지정 연산자를 통해 접근한다. 3. .. 2022. 7. 4.
[MFC] CClientDC 윈도우에서 무언가를 그리기 위해서는 DC(Device context)를 획득해야 하는데, 여기서 DC란 출력에 필요한 모든 정보를 가지는 데이터 구조체이고, GDI 모듈에 의해 관리된다. 예를 들어 윈도우에 선을 그리는 상황을 가정할 때 좌표 값을 알고 있어도 선의 굵기등 부가적인 요인들이 있기때문에 DC를 이용하면 DC의 default값으로 부가적인 요인을 해결해주기 때문에 DC와 좌표만으로 선을 그릴수 있다. 윈도우에 캡션바를 제외한 영역을 Client Area(클라이언트 영역)이라고 한다. 클라이언트 영역에 그림을 그릴때 DC를 이용해 그림을 그리고 클라이언트에 그림을 그리기 위해 사용하는 DC를 ClientDC라고 한다. MFC에서 클래스 앞에 C를 붙이기에 CClientDC를 사용한다. 그림을 .. 2022. 7. 4.
BMP 파일(비트맵 파일)의 이해 비트맵 정의 컴퓨터에서 영상을 표현하는 대표적인 방법이 비트맵이다. 비트맵은 말 그대로 비트들의 집합. 여러 개의 비트가 모여 한 점(픽셀)의 색상을 표현, 색상을 가진 점들이 모여 영상을 구성한다. 비트맵 방식은 영상의 전체 크기에 해당하는 픽셀 정보를 모두 다 저장. 메모리 용량을 많이 차지하는 단점이 있지만, 압축 기법을 사용하지 않고 표현이 직관적이어서 분석이 용이하다. 복잡한 계산 없이 단순히 그림을 복사하여 화면에 보여주기 때문에 벡터 방식보다 화면 출력 속도가 빠름. 비트맵의 종류 Windows에서 지원하는 비트맵에는 두 가지 종류가 있음. 장치 의존 비트맵(DDB)과 장치 독립 비트맵(DIB) 여기서 장치란 출력 장치를 의미(모니터 화면에 영상을 나타내는 것) DDB 장치 의존 비트맵 : .. 2022. 7. 1.
영상 처리 개요 디지털 영상 처리란? 영상처리란 영상을 대상으로 하는 신호처리의 한 분야. 영상으로부터 원하는 정보를 얻기 위해 행하는 모든 종류를 처리를 의미. 영상처리 분야 -영상의 화질 향상 -영상의 기하학적 변환 -영상 분할 -객체의 모양 기술 -객체 인식 -영상 압축 -동영상 처리 다양한 영상 처리 응용 분야 -얼굴 검출과 얼굴 인식 -내용 기반 영상 검색 -컬러 영상의 화질 개선 -의료 영상 분야 -문서 처리 -공장 자동화 -인공지능 로봇과 자율 주행 자동차 영상의 기본 단위 픽섹(pixel)또는 화소라고 함. 영상 표현 방법 영상처리에서 주로 사용하는 영상은 그레이스케일 영상. 그레이스케일 영상이란? 색상 정보 없이 오직 밝기 정보만으로 구성된 영상, 흑백 사진처럼 검정색, 회색, 흰색으로 구성. *반대로는.. 2022. 6. 24.
백준 2460 https://www.acmicpc.net/problem/2460 2460번: 지능형 기차 2 최근에 개발된 지능형 기차가 1번역(출발역)부터 10번역(종착역)까지 10개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. www.acmicpc.net 풀이 2022. 6. 23.
백준 2455 https://www.acmicpc.net/problem/2455 2455번: 지능형 기차 최근에 개발된 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. www.acmicpc.net 풀이 2022. 6. 23.
반응형