목록분류 전체보기 (370)
GitHubSeob

문제 https://school.programmers.co.kr/learn/courses/30/lessons/132266 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 BFS문제이다. 목적지가 나와있으므로 목적지를 시작으로 모든 다리를 건너 갈 수 있는 경우를 탐색했다. 다리의 정보가 담긴 roads벡터에서는 {1, 2}, {2, 3} 이런식으로 나와있어 따로 road벡터로 탐색시간을 줄이고자 한다. road벡터에는 road[1]에는 1과 연결된 다리들을, road[2]에는 2와 연결된 다리들을 이런식으로 road[n]에는 n과 연결된 다리의 정..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 작업이 끝나는 최종 시간은 항상 같다. 그리고 최종 시간을 구하는 문제도 아니었다. 작업이 끝난 시간 - 작업을 요청받은 시간을 최소로 만드는 문제이다. 작업이 끝났으면 바로바로 작업을 해야 하므로, 작업의 정보가 들어있는 jobs를 요청 시간 기준으로 오름차순으로 정렬한다. 그다음 작업의 소요시간이 짧은 것이 top에 오는 우선순위 큐를 만들어준다. 작업을 하게 되면 그다음 작업은..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 입출력 예 설명과, 몇 가지 테스트를 해봤더니 가장 작은수와 가장 큰수를 곱하여 더하는 값이 최솟값인걸 알았다. 따라서 A를 오름차순으로, B를 내림차순으로 하여 순서대로 곱한 값을 answer에 더해준다. 코드 #include #include #include using namespace std; int solution(vector A, vector B) { int answer(0)..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 투 포인터를 이용해 풀었다. 시작 숫자를 s, 끝부분 숫자를 e로 두었다. n / 2 +1 이상의 수로는 연속된 수로 표현할 수 없기 때문에 e의 최대 범위를 n / 2 + 1로 잡았다. 투 포인터 원리를 이용하여 값이 작하면 e를 늘려 sum에 더하고, 값이 크면 sum에서 s를 빼고 s를 한칸 오른쪽(+1)으로 옮겼다. 문제를 보면 숫자 하나로 나타낸 값도 포함이므로 (자기자신)..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 erase함수를 통해 0을 모두 지우고 지운 개수를 카운트한다. 변환 횟수를 +1, 카운트한 0의 개수를 answer에 저장한다. 이진수로 변환하는 stob 함수를 만들어 s를 이진수로 변환한다. s가 1로 변할때 까지 반복한다. 다 풀고 나서 다른 분의 풀이를 봤는데 굳이 이진수로 변환할때 reverse를 할 필요가 없었다는걸 깨달았다. 코드 #include #include #in..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 백준에서 풀었던 문제와 같다 스택을 이용하면 간단하게 풀 수 있다. 1. 스택이 비어있을 때 첫 괄호가 ')' 일 때 이 경우는 무조건 짝지을 수 없으므로 바로 return을 하면 된다. 2. 괄호가 '('일 때 괄호를 닫을 수 없으므로 스택에 push 한다. 3. 스택이 비어있지 않고, 괄호가 ')' 일 때 스택에는 무조건 이 경우에 의해서 무조건 스택에는 '('만 들어가 있다. ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 최소 과정을 찾기 위해 queue를 이용했다. queue에는 바꾼 단어, 바꾼 횟수를 저장한다. 이중 for문을 이용해 비교할 단어를 고르고, 단어를 문자로 쪼개서 현재 단어와 비교한다. 최소 과정을 찾아야 하므로 이미 고른 단어는 다시 못 고르도록 visit벡터를 추가로 이용했다. 같지 않은 부분이 1개라면 바꿀 수 있는 단어다. 바꿀 수 있는 단어가 target이라면 cnt + ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 우선순위 큐를 이용해 가장 큰 점수가 항상 앞에 오도록 했다. works의 모든 원소의 합이 n이하라면 남은 작업량이 없으므로 answer은 0이 된다. 그 외의 경우는 n만큼 while문을 반복하면서, 우선순위 큐의 top부분을 1 빼고 우선순위에 다시 push한다. n만큼 반복이 끝났으면 야근 지수를 구해야 한다. 우선순위의 top부분을 제곱한 값을 answer에 계속 더하고 p..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 먼저 n이 2일 때, 3일 때 순으로 숫자들을 살펴봤더니, 숫자들끼리의 차이가 작을수록 좋다 곱이 최대가 됐다. n=2, s=9인 경우 4, 5 n=3, s=14인 경우 4, 5, 5 따라서 s를 n으로 나눈 몫이 answer, s는 s - s/n이 된다. 코드 #include #include using namespace std; vector solution(int n, int s)..