본문 바로가기
728x90

분류 전체보기230

알고리즘(C++) / 프로그래머스 위클리 챌린지 : 5주차 모음 위클리 챌린지 : 5주차 모음 사전 https://programmers.co.kr/learn/courses/30/lessons/84512?language=cpp 코딩테스트 연습 - 5주차 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 코드 //프로그래머스 위클리 챌린지 모음 사전 #include #include #include using namespace std; int solution(string word) { int answer = 0; answer += word.size(); for .. 2021. 8. 31.
알고리즘(C++) / 프로그래머스 위클리 챌린지 : 4주차 직업군 추천하기 위클리 챌린지 : 4주차 직업군 추천하기 https://programmers.co.kr/learn/courses/30/lessons/84325?language=cpp 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 코드 //프로그래머스 직업군 추천하기 위클리 챌린지 4주차 #include #include #include #include #include using namespace std; string solution(vector table, vector languages, vector preference) {.. 2021. 8. 31.
알고리즘(C++) / 프로그래머스 level 2 : 카카오 프렌즈 컬러링북 level 2 : 카카오 프렌즈 컬러링북 https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 코드 //프로그래머스 카카오 프렌즈 컬러링북 #include #include #include #include using namespace std; // 전역 변수를 정의할 경우 함수 내에 초기화 코드를 꼭 작성해주세요. bool visited[101][101]; int ni[4], nj[4]; int m_copy; int n.. 2021. 8. 31.
알고리즘(C++) / 프로그래머스 level 2 : 수식 최대화 level 2 : 수식 최대화 https://programmers.co.kr/learn/courses/30/lessons/67257?language=cpp 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 코드 //프로그래머스 수식 최대화 #include #include #include #include //절대값 #include using namespace std; vector operation = { {"*", "+", "-"},{"*", "-", "+"}, {"+", "*", "-"}, {"+", "-",.. 2021. 8. 29.
알고리즘(C++) / 이진 탐색(이분 탐색) - binary_search(), lower_bound(), upper_bound() 이진 탐색(이분 탐색) - binary_search(), lower_bound(), upper_bound() 이진 탐색 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다. 리스트가 반드시 정렬되어 있어야 사용이 가능하다. start, end, mid를 사용하여 찾으려는 데이터와 mid에 있는 데이터를 반복적으로 비교하여 데이터를 찾는다. 전부를 탐색하는 탐색 속도에 비해 빠르다. 알고리즘 헤더를 선언하여 이진 탐색 함수 binary_search(), lower_bound(), uppwer_bound() 함수를 사용할 수 있다. (#include ) 시간 복잡도는 O(logN)이다. 함수를 알아보도록 한다. binary_search() 찾으려는 데이터 값의 존재 여.. 2021. 8. 29.
알고리즘(C++) / 프로그래머스 level 2 : 순위 검색 level 2 : 순위 검색 https://programmers.co.kr/learn/courses/30/lessons/72412?language=cpp > person[1] >> person[2] >> person[3] >> person[4]; combination(person); //조합찾기 } for (auto& score : m) { sort(score.second.begin(), score.second.end()); //score 순으로 정렬 } for (int i = 0; i > person[0] >> a >> person[1] >> .. 2021. 8. 29.
알고리즘(C++) / 프로그래머스 level 2 : 튜플 level 2 : 튜플 https://programmers.co.kr/learn/courses/30/lessons/64065?language=cpp 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 코드 //프로그래머스 튜플 #include #include #include #include #include #include using namespace std; //size 내림차순으로 정렬 bool cmp(const pair& a, const pair& b) { .. 2021. 8. 27.
라즈베리파이, mindsphere node-red 연동 라즈베리파이, mindsphere node-red 연동 라즈베리파이에서 mindsphere로 데이터를 보내고 싶을 때 node-red를 사용하여 데이터를 보낼 수 있다. 2021.08.26 - [아두이노] - 아두이노, 라즈베리파이 / node-red 시리얼 통신 이전에 아두이노와 라즈베리파이의 시리얼 통신으로 데이터를 확인하였다. 이 데이터를 mindsphere로 보내도록한다. mindshpere mindconnect 노드 설치 일단 mindshpere을 사용하기 위해 node를 설치해주어야한다. [팔렛트관리] [설치가능한 노드] -> mindconnect 검색 -> [설치] 설치를 완료하면 mindconnect라는 노드가 생성된다. 이를 이용하여 mindshpere와 연결을 해보도록한다. 플로우 생성.. 2021. 8. 26.
아두이노, 라즈베리파이 / node-red 시리얼 통신 node-red 시리얼 통신 라즈베리파이에서 node-red를 실행하여 아두이노에서 보낸 데이터를 시리얼 통신으로 확인해본다. node-red는 하드웨어 장치들, API, 온라인 서비스를 사물인터넷의 일부로 와이어링(배선화)시키기 위해 본래 IBM이 개발한 시각 프로그래밍을 위한 플로 기반 개발 도구이다. 라즈베리파이 node-red 설치 라즈베리파이에 node-red가 설치되어 있지 않다면 설치해주어야 한다. https://nodered.org/docs/getting-started/raspberrypi Running on Raspberry Pi : Node-RED Running on Raspberry Pi Prerequisites If you are using Raspbian, Buster is the.. 2021. 8. 26.
아두이노(arduino) / 아두이노 블루투스 모듈, 라즈베리파이 블루투스 통신 아두이노 블루투스 모듈 아두이노는 유선 통신인 시리얼 통신을 사용한다. 그래서 아두이노 자체만으로는 무선통신이 불가능하다.(블루투스 모듈이 내장되어있는 블루투스 제외) 따라서 무선 통신을 하기 위해서는 무선통신을 시리얼 통신으로 바꿔주는 모듈 블루투스 모듈이 필요하다. 이를 통신 변환 모듈 통신 모듈이라 한다. 블루투스 모듈(HC-06)을 사용하여 무선통신을 가능하게 할 것이다. 핀은 RXD, TXD, GND, VCC가 존재한다. 아두이노에 다음과 같이 꽂아줄 수 있다. 블루투스 RXD핀은 아두이노의 블루투스 TXD에 TXD핀은 아두이노의 RXD에 맞춰서 꽂아준다. 보통 RXD핀과 TXD핀은 0과 1이 아닌 다른 핀을 사용하지만 여기서 사용한 아두이노는 0과 1번에 연결되어 통신하게 된다. 0과 1은 보.. 2021. 8. 26.
아두이노(arduino) / 자율주행 자동차 코딩하기 자율주행 자동차 코딩하기 아두이노 자동차를 가지고 자율주행하는 코딩을 알아본다. 가지고 있는 자율 주행 자동차 모델은 이것이다. https://github.com/emakefun/hummer-bot/ GitHub - emakefun/hummer-bot Contribute to emakefun/hummer-bot development by creating an account on GitHub. github.com 센서 종류 바퀴 모터 : 전진, 후진이 가능하다. avoidance module : 앞에 물체가 있는지 확인하는 센서. Infrared tracking module : 자동차 밑쪽에 부착되어있는 센서. 라인트랙을 따라가는 역할을 한다. RGB Ultrasonic : 앞 물체와의 거리를 알아내는 센.. 2021. 8. 26.
알고리즘(C++) / 프로그래머스 level 2 : 프렌즈4블록 level 2 : 프렌즈4블록 https://programmers.co.kr/learn/courses/30/lessons/17679?language=cpp 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 코드 //프로그래머스 프렌즈4블록 #include #include #include #include using namespace std; int ni[3] = { 0,1,1 }, nj[3] = { 1,0,1 }; //2x2형태인지 확인 bool Block4(int i, int j, vec.. 2021. 8. 25.