목록알고리즘/프로그래머스 (185)
쌓고 쌓다
https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 생성된 정점은 다음 특징을 갖는다. 생성된 정점으로 진입하는 노드의 개수는 0개이다. 생성된 정점으로부터 진출하는 노드의 개수는 2개이상이다. (이것이 빠지면 막대 그래프의 젤 마지막 노드를 생성된 노드로 오해 가능) 이제 위의 특징으로 생성된 노드를 찾았다면 생성된 노드로부터 진출하는 노드는 각각의 그래프의 임의의 정점을 가리킨다. 즉, 생성된 노드의 진출 노드 개수가 그래프의 총 ..
https://school.programmers.co.kr/learn/courses/30/lessons/150369#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 최소 이동 거리로 배송과 픽업을 모두 완료하려면 계속 가장 먼 거리의 집을 먼저 방문하며 배송과 픽업을하면 된다. 가장 먼 거리의 집(픽업 또는 배송이 필요한 집)을 가는길에 배송이 필요한 가장 먼 집들을 배송을 진행하고 픽업이 필요한 가장 먼 집들을 픽업을 진행하면 된다. 전체 코드 #include #include #include #include using namespace ..

https://school.programmers.co.kr/learn/courses/30/lessons/72412#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 다음과 같은 지원자가 있다면 언어 직군 경력 소울 푸드 java backend junior pizza 다음과 같이 "-"를 포함한 모든 조합을 구한다. 저렇게 한 조합이 완성된다면 map에 key로 조합과 해당 지원자의 점수를 넣어 관리한다. 모든 지원자들의 정보를 map에 조합으로 다 넣었다면 탐색을 위한 정렬을 map에 존재하는 모든 key에 대해 오름차순으로 정렬해준다. 이..

https://school.programmers.co.kr/learn/courses/30/lessons/92342#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 라이언이 과녁에 맞출 수 있는 모든 경우의 수를 구해 어피치 과녁과 비교하여 점수를 계산한다. 라이언이 승리하면서 점수차가 클때 answer을 갱신해주자. 젤 점수가 낮은 과녁부터 채워나가기에 라이언이 가장 큰 점수 차이로 우승할 수 있는 방법이 여러 가지 일 경우, 가장 낮은 점수를 더 많이 맞힌 경우를 return 해주세요. 의 조건을 따로 체크해주지 않아도 통과할거라 생각하..
https://school.programmers.co.kr/learn/courses/30/lessons/150368?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 각각의 이모티콘에 모든 할인율을 붙여본다. 할인율에 따른 가입자 수와 판매액을 계산해본다. 가입자를 늘릴 수 있거나 가입자 수는 그대로라도 판매액을 늘릴 수 있다면 답으로 갱신한다. 전체 코드 #include #include using namespace std; void sale(vector users, vector emoticons, int discount[8..
https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 시작시간을 기준으로 plans를 오름차순으로 정렬한다. 문제에서 요구한 구현 방법으로 그대로 구현한다. 그러나 시간을 11:11 문자열 형태로 제공하기에 이것을 다루기 편하기위해 분단위로 변경해서 계산한다. 시작시각을 분단위로 변환했고 다른 과제의 시작시각 분단위보다 작다면 빨리 시작한다는 뜻이다. 위의 방식으로 분단위로 변환해서 계산하면 과제 시작 시간과 종료시간, 남은시간 등을 관..

https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 1사분면의 점들의 개수를 구해 *4를 해주면 모든 점들의 개수를 구할 수 있다. 작은 원과 큰 원 사이의 점들을 구하기 위해 원의 방정식을 사용한다. x는 1부터 r2까지 반복문을 돌리며 각 원의 높이 y를 구한다. 구한 y를 각각 내림과 올림을 해준다. r1 ceil, r2 floor 하는 이유 : r1보다 크거나 같고 r2보다 작거나 같은 구간의 정수를 구해야하기 때문에 r1을 올..
https://school.programmers.co.kr/learn/courses/30/lessons/131130#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 bool 배열로 각 상자의 방문 여부를 관리한다. 반복문으로 모든 상자를 돌며 방문 여부를 확인한다. 방문하지 않은 상자라면 방문하여 타고타고 들어가 연결된 모든 상자를 방문한다. 타고타고 들어가 방문한 상자의 개수를 vector 변수에 넣어준다. 모든 상자를 방문하면 vector를 내림차순으로 정렬한다. 0번째 1번째 원소의 곱을 정답으로 쓴다. 주의! 한번에 모든 상자를 방..