목록코딩테스트 (110)
Deff_Dev
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이이 문제는 주어진 각 벡터의 숫자들을 2진수로 만든 뒤, 각 자리를 비교하여 1이 하나라도 있으면 '#' 둘 다 0이라면 ' '를 넣는 문제다.#include #include using namespace std;int idx;int GetMatchNum (int count){ int n = 1; for(int i = 0;i = 0; i--){ int match = GetMatchNum(i); if(num >= match){ str += '1'; num -= match; ..
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이이 문제는 출발지 → 레버 위치 → 도착지까지의 최소 시간을 구하는 문제이다. BFS를 이용하여 각 위치까지의 최소 시간을 구한 뒤, 더한 값을 반환하는 방법으로 풀이했다.#include #include #include using namespace std;int map[101][101];int copyMap[101][101];int dx[4] = {1 ,-1, 0,0};int dy[4] = {0,0,1,-1};int n, m;pair leverPair;pair exitPair;pair startPair;void ResetMap(){ for(in..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dbOZ8P/btsKFG9o2FX/1W6uFtbfJwBvJFJpcK7u0K/img.png)
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 이 문제는 포켓몬스터 골드버전 얼음 동굴 퍼즐과 동일한 매커니즘을 가진 문제다. 리코쳇 로봇은 상하좌우로 움직일 수 있고, 한 방향으로 움직일 시, 벽에 닿을 때까지 계속 해당 방향으로 움직인다.이때, R에서 로봇이 출발 할 때, G에 도착하는 최소 이동 횟수를 반환하는 문제이다. 난 BFS를 이용하여 해당 문제를 풀이했다.#include #include #include #include using namespace std;int map[101][101];bool visited[101][101];int n,m;pair startPos;pair en..
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이 문제는 (s, e) 좌표로 떨어지는 폭격 미사일들을 최소한의 요격 미사일로 막아야하는 문제이다. 문제 설명2차원 공간에서 x축에 평행한 선분으로 표현되는 폭격 미사일들을 최소한의 요격 미사일로 모두 요격해야 한다.요격 미사일은 특정 x 좌표에서 발사되어 해당 좌표를 지나는 모든 폭격 미사일을 동시에 요격할 수 있으며, 이를 통해 모든 폭격 미사일을 요격하는 데 필요한 최소 요격 미사일 수를 구해야 한다.문제 풀이targets의 요소들을 s 축 기준으로 오름 차순 정렬 한다.targets 요소들을 순차적으로 탐색하여 end 변수에 e 값의 최솟값..
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이이 문제는 입력된 문자열을 숫자로 변환하여 반환하는 문제이다. char 아스키 코드 비교(48 ~ 57)를 이용해 숫자를 판별하고, 각각의 숫자 영단어에 따른 숫자 문자 반환 함수를 만들어 풀이했다. 문제를 다 푼뒤, 숫자 문자 판별할 때, isdigit를 사용하면 쉽게 판단할 수 있다는 걸 알게되었다.#include #include using namespace std;char GetNum(string s){ char c; if(s == "zero"){ c = '0'; } else if(s == "one"){..
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이일부 학생들이 체육복을 도난당함 (lost).일부 학생들은 여벌의 체육복을 가져옴 (reserve).체육복은 바로 앞번호나 뒷번호의 학생에게만 빌려줄 수 있음여벌 체육복이 있는 학생도 도난당했을 수 있으며, 이 경우 다른 학생에게 빌려줄 수 없음체육수업에 참여할 수 있는 학생 수를 최대화하는 것이 목표함수는 체육수업에 참여할 수 있는 최대 학생 수를 반환어렵지 않은 문제지만, 여벌 체육복을 가져온 학생도 도난당할 수 있다는 점을 잘 생각해야한다. 그리고 lost 벡터가 정렬되지 않을 경우를 생각하여 오름차순 정렬한 후, 탐색을 시작했다.#includ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dxFySi/btsKyINc9aE/kgS4UFwFGJdflnpRunq2SK/img.png)
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이이 문제는 참가자(participant) 중 완주(completion)하지 못한 한 사람을 찾는 문제이다. unordered_map을 사용하여 완주한 사람의 수를 저장한다.이후, 참가자들을 탐색하여, unordered_map의 값이 0인 사람을 찾은 뒤 return한다.#include #include #include using namespace std;unordered_map completionMap;string solution(vector participant, vector completion) { string answer = ""; ..
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이맵을 이용하여 풀이했다. 처음 탐색한 알파벳이라면 answer에 -1 저장 후, i + 1 값 설정이미 탐색한 알파벳이라면 얼마나 가까운지 구하고, 해당 위치 + 1 저장 여기서 i + 1을 한 이유 맵의 기본값이 0이기 때문에 i로 저장하게 된다면, i가 0일 때 -1이 중복으로 들어가는 경우가 생겨서 + 1을 저장#include #include #include using namespace std;map word;vector solution(string s) { vector answer; for(int i = 0; i