[프로그래머스][Level1] 문자열 내 마음대로 정렬하기 c++
·
🍞 Problem Solving/Programmers
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..
[프로그래머스][Level1] 2016년 c++
·
🍞 Problem Solving/Programmers
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,..
[프로그래머스][Level1] 음양 더하기 c++
·
🍞 Problem Solving/Programmers
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..
[프로그래머스][Level1] 완주하지 못한 선수 c++
·
🍞 Problem Solving/Programmers
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(..
[프로그래머스][Level1] 예산 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 문제를 잘못 읽어서 고생한 문제이다. 중요한 부분은 각 부서가 신청한 금액만큼을 모두 지원해줘야 되지만, 예산은 남아도 된다. 그러므로 일단 오름차순으로 정렬을 한 뒤, 하나씩 더하고 만약 예산을 넘는다면 지원을 하지 않고, 횟수를 줄여주는 식으로 구현하면 된다. 풀이1 #include #include #include using namespace std; int solution(vector d, in..
[프로그래머스][Level1] 없는 숫자 더하기 c++
·
🍞 Problem Solving/Programmers
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..
[프로그래머스][Level1] 실패율 c++
·
카테고리 없음
https://programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 스테이지 개수만큼 반복문을 돌려준 뒤, 사용자가 멈춰있는 스테이지의 개수를 센다. 스테이지와 값이 일치하면 분자(스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수) 스테이지의 값보다 크면 분모(스테이지에 도달한 플레이어 수) v벡터에 실패율과 index값을 넣는다. 실패율에 따라 내림차순을 하고, 실패율이 같다면 인덱스 값에 따라 오름차순 해준다. #include #include #includ..
[프로그래머스][Level1] 숫자 문자열과 영단어 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 일단 string형의 빈 str을 준비한다. 그리고 substr을 사용하여 각 영단어에 대응하는 숫자를 문자열에 더해줬다. 마지막에 int로 반환을 해야 되니 stoi함수를 써서 string을 int형으로 바꿔주었다. #include #include using namespace std; int solution(string s) { int answer = 0; string str = ""; for(in..
[프로그래머스][Level1] 소수 만들기 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 소수 찾는 알고리즘은 에라토스테네스의 체를 사용했다. 3개의 수를 더할 때는 3중 for문을 사용하여 더해주었고, 더한 값을 num 배열에 담았을 때 0이 아니면 소수이므로 카운트해준다. 풀이1 #include #include #include using namespace std; const int NUM = 3000; int num[NUM]; void PrimeNum(){ for(int i = 2; i
[프로그래머스][Level1] 모의고사 c++
·
카테고리 없음
https://programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 이 문제는 완전 탐색 문제로, 규칙을 찾아서 i % 5, i % 8, i % 10 인덱스에 있는 값과 같으면 카운트해주면 된다. 가장 많은 문제를 맞힌 사람이 여럿일 경우 다 넣어줘야 한다. 1, 2, 3 차례대로 넣기 때문에 오름차순으로 다시 정렬 안 해도 된다. 풀이1 #include #include #include using namespace std; int num1[5] = {1, 2, 3, ..