https://programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 moves횟수만큼 반복문을 돌려주고 moves가 해당하는 열에 0이 아닌 것이 있으면 인형이 있다는 뜻이므로 스택에 push를 해준다. 만약 stack이 비어있지 않고 top이 넣는 인형과 같으면 두 개씩 터지는 것이므로 2를 답에 더해준다. 여기서 가장 중요한 부분은 break인데 0이 아닌 것을 찾았으면 한 번 실행만 하고 다음 move로 넘어가야 된다. 풀이1 #include #include #..
level1
https://programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 문제가 길어 당황할 수 있지만, 단계별로 해나가면 풀 수 있는 문제이다. 단계를 보면 문자를 제거하라는 조건이 있는데 여기서 공백으로 치환해줬다. 공백으로 치환해줬으면 erase와 remove 함수를 써서 지워줘야 한다. #include #include #include using namespace std; string solution(string new_id) { string answer = ""; ..
https://programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 풀이 (시간초과 1개) #include #include #include using namespace std; vector solution(vector id_list, vector report, int k) { vector answer; map repo; // report map s; // 신고받은 유저 for(int i = 0; i < report.size(); i++){ int idx = repor..
https://programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 전역 변수 N을 선언해줘서 n 인덱스 값을 넣는다. sort함수를 써서 cmp 조건에 따라 오름차순 정렬한다. #include #include #include using namespace std; int N; bool cmp(string a, string b){ if(a[N] == b[N]) return a < b; else return a[N] < b[N]; } vector solution(vect..
https://programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 month 배열에 금, 토, 일, 월, 화, 수, 목을 담아놓고, day 배열에 2016년엔 윤년인 것을 고려하여 숫자들을 담아놓는다. 만약 a = 5, b = 24라면 저번 달까지의 일 수를 더하고, 현재 달의 일수에서 하루를 뺀 수를 더하면 7로 나눈 나머지 수로 요일을 판별할 수 있다. #include #include using namespace std; string solution(int a,..
https://programmers.co.kr/learn/courses/30/lessons/76501 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 signs이 참이면 더해주면 되고, 거짓이면 빼주면 된다. #include #include using namespace std; int solution(vector absolutes, vector signs) { int answer = 0; for(int i = 0; i < absolutes.size(); i++){ if(signs[i]) answer += absolutes[i]; else answe..
https://programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 참가자 중에 동명이인이 있을 수 있으므로, map에 participant key의 value값을 더해주고 completion일 경우 key의 value값을 빼준다. 마지막으로 map을 다 돌며 value값이 1인 경우일 때 출력해준다. 참가를 했지만, 완주를 못 했을 경우이기 때문이다. #include #include #include using namespace std; string solution(..
https://programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 문제를 잘못 읽어서 고생한 문제이다. 중요한 부분은 각 부서가 신청한 금액만큼을 모두 지원해줘야 되지만, 예산은 남아도 된다. 그러므로 일단 오름차순으로 정렬을 한 뒤, 하나씩 더하고 만약 예산을 넘는다면 지원을 하지 않고, 횟수를 줄여주는 식으로 구현하면 된다. 풀이1 #include #include #include using namespace std; int solution(vector d, in..
https://programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 0부터 9까지의 수를 일단 미리 더하고, 주어진 숫자들을 빼면 없는 값들의 합이 나온다. #include #include using namespace std; int solution(vector numbers) { int answer = 0; // 0부터 9까지의 합 int sum = 9 * 10 / 2; for(int i = 0; i < numbers.size(); i++){ sum -= numbe..
https://programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 스테이지 개수만큼 반복문을 돌려준 뒤, 사용자가 멈춰있는 스테이지의 개수를 센다. 스테이지와 값이 일치하면 분자(스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수) 스테이지의 값보다 크면 분모(스테이지에 도달한 플레이어 수) v벡터에 실패율과 index값을 넣는다. 실패율에 따라 내림차순을 하고, 실패율이 같다면 인덱스 값에 따라 오름차순 해준다. #include #include #includ..