목록전체 글 (104)
개발자 김수진
[문제] 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..
[개념] 다익스트라 알고리즘이란 하나의 정점에서부터 다른 정점들까지의 최단거리를 구하는데 사용되는 탐색 알고리즘이다. 정점까지의 최단 경로를 구할 때 , 이전에 구한 다른 정점들까지의 최단 경로를 구한다. 1. 출발 정점을 구한다 2. 출발 정점과 인접한 점들을 방문 처리한다. 3. 출발 정점과 인접한 점들 중에서 비용이 가장 적은 정점으로 간다. 4. 다음 정점에서 마찬가지로 2,3번을 반복한다. 위의 과정을 반복할 때 한번 방문했던 정점은 재방문 하지않는다. 3번의 과정을 통해 최단 경로를 보장할 수 있다. 현재 정점을 기준으로 비용이 가장 적은 정점으로 가므로 이것이 최단 경로가 되는 것이다. 위의 그래프를 기준으로 각 정점들의 거리를 배열에 초기화하면 다음과 같이 된다. 1 2 3 4 5 6 1 ..
[문제] 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 ..