전체 글
-
프로그래머스 Lv2 [3차]n진수 게임Computer Science/프로그래머스 2023. 9. 26. 08:48
https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 다음과 같다. 참가자들이 순서대로 문자를 번갈아가며 말한다. 예를들면 10진수 일 때 세 사람이 있다면 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13...문자열에서 순서대로 문자를 말하면 되는데 10이상 부터는 앞의 문자를 끊어서 말한다. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3... 따라서 n이라는 숫..
-
프로그래머스 Lv2 전화번호 목록카테고리 없음 2023. 9. 24. 16:51
https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 위 문제를 phone_book을 길이 순으로 정렬 후, 가장 작은 문자열만큼만 비교하여 중복 된 값이 있으면 false라 생각했다. #include #include #include #include #include using namespace std; bool cmp(string lhs, string rhs) { if(lhs.length() < rhs.length()) return true; ..
-
프로그래머스 Lv2 의상Computer Science/프로그래머스 2023. 9. 24. 11:00
https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 이 문제를 조합 문제로 접근했다. 문제가 선글라스 하나만 입어도 옷을 입은 것으로 쳐줘 이상하지만 만약 파란색 티셔츠와 검정 선글라스가 있다면 파란색 티셔츠를 입는 경우의 수 1 검정 선글라스를 입는 경우의 수 1 둘다 입지 않는 경우의 수 1 얼굴, 상의, 하의, 겉옷에 위와 같은 식으로 경우의 수를 더해주면 된다. 모든 옷을 입지 않는 경우의 수는 존재하지 않으므로 -1을 해준다. #in..
-
프로그래머스 Lv2 다리를 지나는 트럭Computer Science/프로그래머스 2023. 9. 24. 10:29
https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 코드를 보고, 현재 다리를 건널 수 있는 수만큼의 트럭을 큐에 넣고 큐에서 하나씩 빼가며 다리의 길이 만큼 시간 수를 누적 해 갔다. 이렇게 된다면 하나의 다리에 한개의 트럭만 다리를 건널 수 있는 거이므로 잘못된 풀이였다. 그렇다면 하나의 다리에 트럭을 여러대 올리는 것을 구현할려면 어떻게 해야 할까? 바로, 트럭을 다리를 건널 수 있는 만큼 큐에 넣고 가비지 값을 넣어주는 것이였다. 그리..
-
프로그래머스 Lv2 스택/큐 기능개발Computer Science/프로그래머스 2023. 9. 23. 16:47
https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 큐와 우선순위 큐를 사용해서 정답을 내려고 했다. 큐를 순회하며 데이터를 늘리고, 우선순위 큐를 인덱스로 정렬 해 top()이 100이상이라면 우선순위 큐를 순회하며 하루에 릴리즈되는 기능을 셀려고했다. 하지만 다른 사람 풀이를 보니, 시작 인덱스를 설정하고 이게 progresses보다 작다면 반복문을 돌리도록 했다. 내 코드에서는 큐를 순회하는 순간을 어떻게 끝낼까가 문제였는데, 이 부분은..
-
프로그래머스 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번..