본문 바로가기

PS/프로그래머스27

프로그래머스 약수의 개수와 덧셈 cpp 1. 문제 약수의 갯수에 따라 더하거나 뺀다. 2. 설계 약수의 갯수는 보통 짝수이다. 홀수가 되는 경우는 제곱수가 되는 경우이다. 제곱수는 나누기 연산을 한 결과가 나누기 대상과 같은 경우이다. 3, 알고리즘 4. 구현 #include using namespace std; bool squareNumber(int n){ for(int i=1; i*i 2021. 5. 24.
프로그래머스 실패율 cpp 1. 문제 실패율이 높은 스테이지부터 내림차순을로 스테이지 번호가 담긴 배열을 return한다. 2. 설계 (1) 게임을 이용하는 사용자의 수 stages.size()를 p라고 했을 때, 낮은 스테이지부터, (현재 보고 있는 스테이지에 있는 사람)/(전체 사람 수 중 이전 스테이지까지 있었던 사람)을 구하면 각 스테이지 별 실패율이 나온다. (2)스테이지번호와 실패율을 pair로 만들 {(1-실패율), stage넘버} 한 후 sort한다. 1-실패율을 넣는 이유는, 실패율은 높은 숫자 먼저(내림차순) , 같은 실패율에 대해서는 stage를 낮은 숫자에서 높은 숫자로(올림차순)으로 정렬해야하기 때문에 둘 중 하나를 바꿔서 정렬해야하기 때문이다. 3. 알고리즘 4. 구현: 정답코드 #include using.. 2021. 5. 23.
프로그래머스 로또의 최고 순위와 최저 순위 cpp 1. 문제 두 배열을 비교해서 같은 것과 다른 것의 갯수를 비교하는 것. 2. 설계 당첨번호를 map에 넣는다. 구매한 로또 배열을 돌면서 있는 값은 지우고 cnt를 증가시킨다. (0번은 없으므로) 최소값은 현재 cnt 최댓값은 cnt+0의 갯수로 리턴한다. 3. 알고리즘 4. 구현 #include using namespace std; vector solution(vector lottos, vector win_nums) { vector answer; map mp; int cnt=0; int zeros=0; for(auto iter: win_nums){ mp[iter]++; } for(auto iter: lottos){ if(mp[iter]) cnt++; if(iter==0) zeros++; } answe.. 2021. 5. 23.
반응형