목록알고리즘/프로그래머스 (19)
개발자 김수진
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] input string에 대해 두 글자씩 끊어서 다중 집합을 만들고 두 집합 간의 교집합/합집합 * 65536을 구해서 return 해주면 되는 문제 첫 번째로 각 input string에 대해 모두 lower case로 변환해주었다. 다음으로 연속된 두 글자가 알파벳인 경우 vector에 push 해주었다. 이중 for문을 통해 교집합을 구하고 교집합의 중복을 막기 위해 한번 ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 검사자의 선택지 사이즈만큼 반복하여 결과를 구한다. map을 사용하여 각 유형의 점수를 관리하였다. 이와 같이 점수를 다 구하여 각 지표별 성격 유형을 구한다. 코드 #include #include #include using namespace std; int score[8] = {0,3,2,1,0,1,2,3}; string solution(vector surve..
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 해당 문제는 하나의 정점에서 다른 정점들까지의 최단거리를 구하는 문제이므로 다익스트라 알고리즘을 사용해 풀었다. map이라는 벡터 배열을 선언하여 각 정점마다 인접한 정점까지의 거리를 가지고 있도로 했다. 또한 1번 정점부터 다른 정점들까지의 거리를 구하기 저장하기 위해 dist 변수를 선언하고 정점의 개수만큼 1e9로 초 기화했다. 다음으로 dijkstra 함수에서는 prior..
[문제] https://programmers.co.kr/learn/courses/30/lessons/17680
[문제] https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr [풀이] 우선 존재하는 모든 메뉴를 c라는 벡터에 insert 해준다. 결과값은 각 알파벳을 기준으로 오름차순으로 정렬되어 있어야 하므로 c를 오름차순으로 정렬해준다. 그 다음으로 course의 케이스마다 만들 수 있는 모든 메뉴 조합을 DFS 함수를 통해서 구한다. course 배열의 각 개수를 만족하면 각 손님이 해당 메뉴 조합을 시킨 횟수를 coun..
[문제] https://programmers.co.kr/learn/courses/30/lessons/1835 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr [풀이] 처음 문제 봤을 때 Level2라는게 믿기지 않았다. 도저히 감이 안잡혀서 다른 분들의 풀이를 봤는데 생각보다 간단한 문제였다. next_permutation 함수를 통해 프렌즈들이 일렬로 설 수 있는 모든 경우의 수를 구할 수 있다. 각 case마다 주어진 조건을 만족하는지 확인 후 , 모든 조건을 만족할 경우 answer에 +1을 해주어 ..
[문제] https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr [풀이] 스테이지의 실패율이 같을 경우, 스테이지 번호를 기준으로 오름차순 해야하므로 cmp 함수에서 second 값으로 비교해준다. [코드] #include #include #include #define MAX 501 using namespace std; int people =0; double score[MAX]={0,}; vector v; bool ..
문제 https://programmers.co.kr/learn/courses/30/lessons/82612?language=cpp 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 풀이 단순 반복문 사용해서 최종 금액 구하는 문제 가지고 있던 금액의 범위가 1부터 1,000,000,00 까지 이므로 long long 사용 ( int형 범위 -2,147,483,647 to 2,147,483,647 ) 코드 using namespace std; long long solution(int price, int..