본문 바로가기
728x90

분류 전체보기230

알고리즘(C++) / 프로그래머스 level 2 : 조이스틱 level 2 : 조이스틱 https://programmers.co.kr/learn/courses/30/lessons/42860?language=cpp 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 코드 //프로그래머스 조이스틱 #include #include #include #include #include using namespace std; int solution(string name) { int answer = 0; int turn = name.size() - 1; int n = n.. 2021. 7. 18.
알고리즘(C++) / 프로그래머스 level 2 : 구명보트 level 2 : 구명보트 https://programmers.co.kr/learn/courses/30/lessons/42885?language=cpp 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 코드 //프로그래머스 #include #include #include #include using namespace std; int solution(vector people, int limit) { int answer = 0; sort(people.begin(), people.end()).. 2021. 7. 14.
알고리즘(C++) / 프로그래머스 level 2 : 캐시 level 2 : 캐시 https://programmers.co.kr/learn/courses/30/lessons/17680?language=cpp 2021. 7. 13.
아두이노(arduino) / 아두이노 우노 연결, 장치 관리자 포트 없을 때 아두이노 연결 아두이노 IDE 설치를 완료했으니 아두이노 우노와 연결을 해보도록 한다 아두이노와 컴퓨터와 연결할 수 있는 USB 케이블 커넥터 종류는 다음과 같이 존재한다. https://kocoafab.cc/tutorial/view/260 아두이노 케이블 연결 개요 아두이노의 기본 핀 구성과 이들을 어떻게 연결해서 사용해야 하는지에 대해 알아보자. 본 글에서 사용된 오렌지보드는 아두이노 Uno와 동일한 규격을 가진다. 100%호환되며, 핀구성또한 kocoafab.cc 지금 가지고 있는 아두이노는 Micro-B이다. 아두이노를 케이블로 컴퓨터와 연결한다.장치관리자에 들어가면 포트(COM & LPT)에 Arduino가 연결된 것을 확인한다. 작업 관리자 포트 연결되지 않을 때 나는 여기서 포트가 없어서 연.. 2021. 7. 13.
알고리즘(C++) / 프로그래머스 level 2 : 스킬 트리 level 2 : 스킬 트리 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 코드 //프로그래머스 스킬트리 #include #include #include using namespace std; int solution(string skill, vector skill_trees) { int answer = 0; for (int i = 0; i < skill_trees.size(); i++) { int check = true; int location = 0; for (int j = 0; j < skill_trees[i].size(); j++) { int find_location = skill.fi.. 2021. 7. 13.
알고리즘(C++) / 프로그래머스 level 2 : 가장 큰 정사각형 찾기 level 2 : 가장 큰 정사각형 찾기 https://programmers.co.kr/learn/courses/30/lessons/12905 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 코드 //프로그래머스 가장 큰 정사각형 찾기 #include #include #include using namespace std; int solution(vector board) { int answer = board[0][0]; for (int i = 1; i < board.size(); i++) { for (int j = 1; j < board[0].size(); j++) { if (board[i][j] == .. 2021. 7. 11.
알고리즘(C++) / 프로그래머스 level 2 : 압축 level 2 : 압축 https://programmers.co.kr/learn/courses/30/lessons/17684?language=cpp 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 코드 //프로그래머스 압축 #include #include #include #include using namespace std; vector solution(string msg) { vector answer; vector alpa = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J","K", "L".. 2021. 7. 11.
아두이노(Arduino) / 아두이노 시작 IDE 설치하기 아두이노 프로젝트 시작! 아두이노를 사용하기 위해서 아두이노 IDE를 설치해야한다. 다음 사이트에서 설치한다. https://www.arduino.cc/en/software Software Open-source electronic prototyping platform enabling users to create interactive electronic objects. www.arduino.cc 나는 윈도우 환경이기 때문에 다음을 클릭하여 아두이노 IDE를 설치해주었다. 설치하는 과정이다. 다음과 같이 아두이노가 설치되었다. 아두이노를 실행하면 다음과 같은 화면이 나오는 것을 확인할 수 있다. 2021. 7. 9.
알고리즘(C++) / 벡터(vector) 중복제거 : unique 벡터(vector) 중복제거 unique 벡터에서 중복되는 수 제거가 필요할 때가 있다. 그럴경우에 unique를 사용하여 중복되는 수를 제거할 수 있다. 만약 벡터에 수가 { 1,1,3,3,0,1,1 }가 저장되어있다고 하면 unique 함수를 사용한 후에는 벡터에 {1, 3, 0, 1, 0, 1, 1 } 과 같이 저장되어 있다. 빨간색 부분은 벡터에 존재하는 수이고 파란색 부분은 원래 벡터에서 바뀌지 않은 부분이다. 이때 algorithm 헤더를 선언해주어야한다. vector arr = {1,1,3,3,0,1,1}; unique(arr.begin(), arr.end()); erase함수는 벡터를 원하는 위치를 지워준다. arr.erase(unique(arr.begin(), arr.end()), arr.. 2021. 7. 1.
알고리즘(C++) / 프로그래머스 level 1 : 키패드 누르기 [카카오 인턴] 키패드 누르기 https://programmers.co.kr/learn/courses/30/lessons/67256?language=cpp 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드.. 2021. 6. 27.
알고리즘(C++) / 프로그래머스 level 1 : 완주하지 못한 선수 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수.. 2021. 6. 27.
알고리즘 / unordered_map C++ STL 중 해쉬 맵 unordered_map을 설명한다. 특징 map보다 더 빠른 탐색을 하기 위한 자료구조이다. unordered_map은 해쉬테이블로 구현한 자료구조로 탐색 시간복잡도는 O(1)이다. map은 Binary Search Tree로 탐색 시간 복잡도는 O(log n)이다. unordered_map을 사용하기 위해서는 #include 을 선언해야 한다. unordered_map은 중복된 데이터를 허용하지 않고 map에 비해 데이터가 많을 시 월등히 좋은 성능을 보인다. 하지만, key가 유사한 데이터가 많을 시 해시 충돌로 인해 성능이 떨어질 수도 있다. index로 접근할 수 없고 iterator로 접근해야 한다. 데이터가 많은 경우에는 unordere.. 2021. 6. 26.