[프로그래머스][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..
[프로그래머스][Level1] 평균 구하기 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12944 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 arr배열 안에 있는 값들을 다 더하고 arr.size()로 나눠준다. 그리고 double형으로 바꿔준다. #include #include using namespace std; double solution(vector arr) { double answer = 0; int sum = 0; for(int i = 0; i < arr.size(); i++){ sum += arr[i]; } answer = (..
[프로그래머스][Level1] 콜라츠 추측 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 무한 반복문을 돌려주되, 탈출 조건은 두 가지가 있다. 첫 번째로는 입력된 수가 1이 될 경우 두 번째로는 500번을 수행해도 1이 안 될 경우이다. 그러므로 num이 1이 된다면 while문을 탈출해 answer을 출력해주도록 하였고, answer이 501번이 되면 return -1을 해주며 함수를 끝내는 식으로 구현했다. #include #include using namespace std; int..
[프로그래머스][Level1] 최대공약수와 최소공배수 c++
·
🍞 Problem Solving/Programmers
https://programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 최대공약수와 최소공배수의 기본 문제이다. 최대공약수 구하는 부분에선 유클리드 호제법을 사용하였다. #include #include using namespace std; int gcd(int a, int b){ while(b != 0){ int r = a % b; a = b; b = r; } return a; } int lcm(int a, int b){ return a * b / gcd(a, b); }..