전체 글 138

[백준 1759, c++] 암호 만들기

문제 번호 1759(https://www.acmicpc.net/problem/1759) 문제 및 입/출력 바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다. 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다. 새 보안 시스템에서 조교들이 암호로 사용했을..

백준/DFS 2019.08.15

[백준 14888, c++] 연산자 끼워넣기(+ 15658)

문제 번호 14888(https://www.acmicpc.net/problem/14888) 15658(https://www.acmicpc.net/problem/15658) 문제 및 입/출력 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60..

백준/DFS 2019.08.15

[백준 6603, c++] 로또

문제 번호 6603(https://www.acmicpc.net/problem/6603) 문제 및 입/출력 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34]) 집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오. 입력..

백준/DFS 2019.08.13

[백준 10971, c++] 외판원 순회2(DFS)

문제 번호 10971(https://www.acmicpc.net/problem/10971) 문제 및 입/출력 외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자. 1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 도시들 사이에는 길이 있다. (길이 없을 수도 있다) 한 외판원이 어느 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다. 단, 한 번 갔던 도시로는 다시 갈 수 없다. (맨 마지막에 여행을 출발했던 도시로 돌아오는 것은 예..

백준/DFS 2019.08.12

HC-SR04(초음파 센서)의 이해

HC-SR04(초음파 센서)의 이해 Datasheet : 초음파란? 주파수가 20kHz를 넘는 사람이 듣지 못하는 음파를 초음파라고 한다. HC-SR04 란? 초음파 센서 모듈로 초음파 송신부(Trig), 초음파 수신부(Echo), 제어회로로 구성되어 있는데, 가격적으로 저렴하고 사용자가 간편하게 초음파를 제어해 거리를 측정 할 수 있도록 만들어졌다. 이 초음파 센서는 전방 2cm ~ 400cm의 15도까지 정확하게 측정이 가능하다. 하지만 측정이 가능하게 하려면 사용자는 이 제품의 데이터 시트가 원하는 조건을 들어주어야 한다.그 조건이란 타이밍 다이어그램을 말하는데 이 HC-HSR04말고도 다른 제품을 사용할때, 타이밍 다이어그램이 존재한다면 그것을 이해하는것은 매우 중요하다. HC-SR04 Timin..

Embedded System/ATmega128 2017.08.13 (6)

MAX7219를 이용한 도트매트릭스 제어

MAX7219 Serially Interfaced, 8-Digit LED Display Drivers - 3-wire serial interface - 8x8 static RAM - SPI 지원 MAX7219는 여러개의 7-SE를 제어하기 위해서 만들어졌는데, 비슷한 제어를 요구하는 다른 제품에도 사용 가능하다. 나는 이 MAX7219를 사용해 8x8 도트매트릭스를 제어해봤다. 도트매트릭스의 구동 방법 & MAX7219를 사용하는 이유 한 가지 색상을 사용할 수 있는 8x8 도트매트릭스에는 64개의 발광 다이오드가 존재한다. 이 64개의 발광 다이오드를 제어하려면 스태틱(Static) 구동 방법과 다이나믹(Dynamic) 구동방법중에 하나를 택해야 하는데, 여기서 스태틱 구동방법은 이 64개의 발광 다이..

Embedded System/ATmega128 2017.08.11 (2)