본문 바로가기

2021DevMatching3

[Programmers] 다단계 칫솔 판매 문제 : https://programmers.co.kr/learn/courses/30/lessons/77486 추천인을 저장하는 parentMap(key = 판매원, value = 추천인)과 총 이익을 저장하는 priceMap(key = 판매원, value = 이익)을 만든다. enroll, referral 을 탐색하며 parentMap을 세팅한다. seller, amount 배열을 탐색하며 priceMap 을 세팅해보자. 얻은 이익은 칫솔가격이 100이므로 amount[i] * 100이다. 이익의 10프로를 제외한 가격을 자신한테 더하고 10프로는 추천인한테 배분한다. 만약 parentMap[탐색중인 판매원] value가 "-"가 아닌 경우 이익의 분배를 다시 해야하므로 parentMap[탐색중인 판매.. 2021. 6. 1.
[Programmers] 행렬 테두리 회전하기 문제 : https://programmers.co.kr/learn/courses/30/lessons/77485 1부터 차례대로 세팅된 rows x columns 크기의 배열(let, array)을 먼저 만든다. 이제 행렬을 직접회전하면서 최소값을 저장한다. x1 < x2, y1 < y2 이므로 배열크기를 벗어날 걱정없이 시작 이전 변수(let, before)은 array[x1+1][y1]으로 세팅한다. 회전은 위 순서대로 회전시킨다. 먼저 행을 x1으로 고정시킨 뒤 탐색하는 배열에 before값을 넣고 갱신되기 이전값으로 before 변수를 갱신한다. 다음은 열을 y2로 고정시킨 뒤 탐색하면서 배열값을 갱신시킨다. 이 때, 중복해서 값을 갱신시키면 안되므로 (x1, y2)는 갱신대상에서 제거시켜야 한다... 2021. 5. 31.
[Programmers] 로또의 최고 순위와 최저 순위 문제 : https://programmers.co.kr/learn/courses/30/lessons/77484 lottos 문자열에서 0인 개수를 wrongCnt 변수에 저장하고 0이 아닌 수들 중 로또번호에 포함되는 수의 개수를 matchCnt 변수에 저장한다. 최고등수가 되는 경우는 알수없는 번호(0인 수들)들이 모두 로또 당첨번호인 경우이다. 즉, matchCnt + wrongCnt 가 당첨번호의 개수인 등수를 구하면 된다. 최저등수가 되는 경우는 알수없는 번호들이 모두 로또 당첨번호가 아닌 경우이다. 즉, matchCnt가 당첨번호의 개수인 등수를 구하면 된다. 소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/programmers/Dev-matc.. 2021. 5. 31.