프로그래머스 4

[프로그래머스/C++] LV2. 기능개발

오랜만에 문제 풀기~ 처음에는 큐를 이용해서 문제를 풀까 생각했는데, 더 간단하게 풀릴것같아서 단순 구현으로 풀었다. 어차피 days는 계속 누적되고, cnt만 배포될때마다 확인 후 reset시켜주면 되는거라 while문으로 progress + speed * days가 100 넘을때까지 days를 누적시켜주고, 이후 배포되는 친구들을 위해 cnt가 0이 아닐 때, answer에다가 push해준다. 마지막 값이 누락되는 것을 방지하고자, 루프를 다 돌고 나왔을 때 cnt가 0이 아니면 answer에 push 해준다. #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; i..

[프로그래머스] LV1. 키패드 누르기

숫자가 {2,5,8,0} 일때를 잘 다루는것이 관건! 처음에는, 단순히 현재 위치와 target값을 빼주고, 그 값이 3이면 1으로 바꿔주는 계산방식을 생각했었다. 하지만 만약 target=6이고 현재 위치가(왼손이든 오른손이든) 7이라면, 실제거리는 3이지만 이 로직은 1이라고 말할 것이다. 따라서, 전체 키패드를 격자로 생각하고, 각각의 좌표를 구해준 뒤 좌표 거리 계산을 해주어야 한다! 자세한 내용은 주석을 참고바란다. #include #include #include using namespace std; /* 시작 : 왼손 엄지 - *(10), 오른손 엄지 - #(12) 상하좌우 한칸씩만 이동가능 1,4,7 => 왼손, 3,6,9 => 오른손 2,5,8,0(11) => 둘 중 가까운 손 (거리 같으..

728x90