https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 a와 b값이 짝수인 경우 2로 나누고 홀수 인 경우 1을 더한 후 2로 나누면 해결할 수 있다.이유는 12 34 56 이렇게 짝이 이루어지는데 짝이 맞아졌을 때 이긴 대상은 다음라운드에서 N/2번째 숫자가 되기 때문이다.따라서 2가 이길경우 1이되고 1이 이길경우 1이 되기 위해서는 위 방식을 사용해야한다. 이 방식이 해결방안이 될 수 있는 이유는 a와 b는 반드시 다음 라운드에 진출하기 ..
분류 전체보기
https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 스택을 통해 쉽게 구현이 가능한 문제스택의 top과 현재 문자가 같으면 제거하고 아니면 스택에 삽입한다.문자열 순회가 끝난 후 스택이 비어있으면 1 차있으면 0으로 반환한다. #include #include#include using namespace std;int solution(string s){ int answer = 0; vector v; v.push_back(s[0]); ..
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 dfs를 통해 해결할 수 있다.문제에서 numbers 배열을 순서대로 사용하고, 부호를 바꿔 조합을 하여 target값이 나오는 경우의 수를 구하라고 하였다.이 조건대로 수를 나열하면 그래프의 형태로 이루어지는 것을 알 수 있다.따라서 dfs를 사용해 값을 누적하여 target값이 나오면 answer를 증가시키면 된다. #include #include #include #include usi..
https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr k개의 숫자를 제거한 후 나올 수 있는 숫자 조합 중 가장 큰 수를 뽑는 문제이다.이 문제는 k자리 중 가장 큰 숫자를 뽑아 누적하면 해결할 수 있다.예시) "1924" k = 2maxNum = '1'maxIdx = 00 ~ 2 자리까지 반복하며 최대 숫자를 찾음 -> 9answer = "9" maxNum = '2'maxIdx = 22 ~ 4자리 까지 반복하며 최대 숫자를 찾음 -> 4answer ..
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 투포인터를 사용해서 해결할 수 있다.문제에서 보트는 최대 2명만 탑승할 수 있으며, limit 이하인 경우에만 보트에 탑승할 수 있다는 것을 알려준다.따라서 무게 순으로 배열을 정렬을 해야한다.이후 left 포인터는 가장 작은 무게부터 시작하고 right 포인터는 가장 높은 무게부터 시작하며 반복을 시작한다.두개의 포인터가 가리키는 무게의 합이 limit보다 작으면 두 개의 포인터를 이동시..
https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 탐색을 통해 해결할 수 있다.가장 큰 정사각형을 찾는 방법은 다음과 같다.2차원 배열을 순회하며 정사각형의 후보가 될 수 있는 1을 찾는다.이후 좌, 우, 위를 보고 1이상의 값이 있는 경우 1을 누적한다. 위 알고리즘을 따르면 테스트 케이스는 다음과 같이 변한다. 초기0111111111110010 최종 모습0111112212230010 #include #include #include us..
https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 큐를 사용해서 해결할 수 있다.큐에 개발 기간을 저장한다.큐에서 요소를 뽑고 뽑은 요소보다 작은 개발 기간이 존재하는 경우 함께 배포한다. #include #include #include #include using namespace std;vector solution(vector progresses, vector speeds) { vector answer; queue q; fo..
https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 우선순위 큐와 큐를 사용해서 해결할 수 있다.우선순위 큐에는 우선순위 대로 실행 할 프로세스를 저장한다.큐에는 프로세스의 우선순위와 인덱스를 저장한다. 우선순위 큐에서 요소 하나를 뽑고 큐를 탐색한다.만약 큐에서 뽑은 요소가 우선순위 큐에서 뽑은 요소와 다른 경우 큐에 다시 넣는다.같은 경우 인덱스를 비교해 검색할 프로세스 번호와 같은 경우 답을 반환한다.다르면 다음 반복으로 넘어간다. #includ..