Computer Science/프로그래머스
-
프로그래머스 Lv2 프로세스Computer Science/프로그래머스 2023. 9. 23. 09:10
중요도를 기준으로 자동 정렬되는 우선순위 큐와 현재프로세스를 저장하는 큐를 비교하며 우선순위와 큐가 갖는 프로세스 순서가 일치 할 때 정답에서 구하고자하는 인덱스와 동일하다면 정답을 리턴한다. 문제 풀이 우선순위 큐는 프로세스가 실행 될 중요도를 저장큐는 프로세스 중요도와 인덱스를 순차적으로 저장했다. for(int i = 0; i < priorities.size(); ++i) { q.push({priorities[i], i}); pq.push(priorities[i]); } 프로세스가 먼저 실행 될 우선순위가 아니라면 후순위로 빼는 작업을 큐를 pop(), push()하여 구현했다. }else { pair data = q.front(); q.push(data); q.pop(); } 프로세스가 실행 될 ..
-
혼자하는 틱택토Computer Science/프로그래머스 2023. 9. 16. 06:35
8방향을 선언한다. O 할당 개수와 X 할당 개수를 구한다. O 할당 개수가 X 할당 개수보다 1초과이거나, X할당 개수가 O할당 개수보다 많다면 잘못된 게임이다. 각 보드판 위치에서 Iswin 함수를 사용한다. 8번 반복문을 사용한다. 현재 위치에서 방향만큼 이동하고, 한 반향으로 이동 했을 때 같이 현재 위치 값과 같지 않다면 멈춘다. J가 3개이면 성공이다. 게임 중 O가 이긴횟수와 X가 이긴횟수가 같다면 게임이 종료 되었음에도 말을 둔 것이기에 잘못된 게임이다. 이긴 횟수가 2번이상이고, 말을 둔 O와 X의 차이가 1이라면 잘된 게임 진 횟수가 2번이상이고, 말을 둔 O와 X의 차이가 0이라면 잘된 게임 이긴 횟수가 O번 또는 진 횟수가 0번 잘된 게임 && 이긴 횟수가 1번 또는 진 횟수가 0번..
-
[PS][lv2] 점 찍기Computer Science/프로그래머스 2023. 7. 1. 11:55
문제 설명 좌표평면을 좋아하는 진수는 x축과 y축이 직교하는 2차원 좌표평면에 점을 찍으면서 놀고 있습니다. 진수는 두 양의 정수 k, d가 주어질 때 다음과 같이 점을 찍으려 합니다. 원점(0, 0)으로부터 x축 방향으로 a*k(a = 0, 1, 2, 3 ...), y축 방향으로 b*k(b = 0, 1, 2, 3 ...)만큼 떨어진 위치에 점을 찍습니다. 원점과 거리가 d를 넘는 위치에는 점을 찍지 않습니다. 예를 들어, k가 2, d가 4인 경우에는 (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (4, 0) 위치에 점을 찍어 총 6개의 점을 찍습니다. 정수 k와 원점과의 거리를 나타내는 정수 d가 주어졌을 때, 점이 총 몇 개 찍히는지 return 하는 solution 함수를..