[프로그래머스][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, ..
[프로그래머스][Level1] 로또의 최고 순위와 최저 순위 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 일단 lottos와 win_nums가 일치하는 개수를 세고, lottos의 0 개수를 센다. 최고로 일치하는 것은 번호가 일치하는 개수와 모르는 번호인 0의 개수의 합이다. 최저로 일치하는 것은 번호가 일치하는 개수만이다. 최고 순위는 7에서 최고로 일치하는 횟수를 빼주면 되고, 최저 순위는 7에서 최저로 일치하는 횟수를 빼주면 되는데 여기서 조건을 잘 걸어야 한다. 로또 맞는 번호가 하나도 없다면 ..
[프로그래머스][Level1] 내적 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/70128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 내적을 구하기 위해선 각 자리의 수를 곱하고 더해주면 된다. #include #include using namespace std; int solution(vector a, vector b) { int answer = 0; for(int i = 0; i < a.size(); i++){ answer += a[i] * b[i]; } return answer; }
[프로그래머스][Level1] x만큼 간격이 있는 n개의 숫자 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 x값을 cnt변수에 담아두고 n횟수만큼 while문을 돌려준다. #include #include using namespace std; vector solution(int x, int n) { vector answer; int cnt = x; while(n--){ answer.push_back(x); x += cnt; } return answer; }
[프로그래머스][Level1] K번째수 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 v 벡터에 인덱스 자른 값을 넣고 정렬한다. 그리고 answer 벡터에는 k번째 있는 수를 넣는다. 풀이1 #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; for(int i = 0; i < commands.size(); i++){ vector v; f..
[프로그래머스][Level1] 행렬의 덧셈 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12950 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 이 문제는 프로그래머스에 익숙해야만 풀 수 있는 문제이다. return값이 이중 벡터이기 때문에 벡터를 만들고 벡터를 넣어주는 식으로 풀어야 한다. #include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer; for(int i = 0; i < arr1.size(); i++){ vector..
[프로그래머스][Level1] 하샤드 수 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 x의 값을 string으로 바꾼 뒤에 각 자리의 수 합을 구한다. 그러기 위해선 각 자리를 문자에서 숫자로 바꿔줘야 한다. 문자 -> 숫자일 땐 '0'을 빼주고, 숫자 -> 문자일 땐 '0'을 더해준다. #include #include using namespace std; bool solution(int x) { bool answer = false; string str = to_string(x); i..
[프로그래머스][Level1] 폰켓몬 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 answer 초기 값을 nums.size() / 2로 하고, 만약 중복을 제거한 값이 초기 사이즈의 반보다 작다면 다시 answer값을 변경하였다. 풀이1 #include #include using namespace std; int solution(vector nums) { int answer = nums.size() / 2; sort(nums.begin(), nums.end()); nums.erase..