목록Programmers (190)
GitHubSeob

문제 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)..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/161988 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 투 포인터로 풀어봤는데 테스트 케이스 몇 개에서 시간 초과가 떴다 질문글을 봤더니 DP로 풀 수 있어서 다시 작성했다. DP[idx][0]에는 항상 최댓값을, DP[idx][1]에는 항상 최솟값을 저장한다. (DP[idx][0]는 DP[idx-1][0] + seq[idx], DP[idx-1][1] + seq[idx], seq[idx] 중 최댓값) (DP[idx][0]는 DP[idx..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181186 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 n이 4부터는 새로운 방법의 타일링이 안 나오고 기존 모양에 붙여가는 줄 알았는데 아니었다. n이 4일 때, 5일 때, 6일 때,... 계속 나온다. 새로운 방법의 타일링이 나오는 경우는 제외하고 덧붙이는 경우만 먼저 따진다. 기존타일링에 새로운 한 줄을 채울 때) DP [idx-1]의 값과 같다 기존타일링에 새로운 두줄을 채울 때) DP[idx-2]*2의 값과 같다. 기존타일링에..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 물을 제외하고 짝수개의 음식만큼만 대회에 사용할 수 있다. food를 탐색하면서 홀수인 경우 하나를 빼고 절반으로 나눈다. 절반으로 나눈 개수만큼 answer에 음식 번호를 채운다. for문이 종료되면 answer을 rev에 복사하고, reverser를 이용해 뒤집는다. answer에 물인 0을 더하고, 뒤집은 rev까지 더하면 된다. 코드 #include #include #inc..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 알파벳위치를 나타내는 alp벡터를 알파벳 개수인 26의 사이즈로 만든다. 첫 글자라면 해당 값이 초기화된 -1이므로 answer에 -1을 push 한다. 첫 글자가 아니라면 idx에서 알파벳 위치가 저장된 alp을 통해 이전 알파벳 위치를 구하고 뺀 값을 answer에 push 한다. 그다음 현재 알파벳의 위치로 갱신한다. 코드 #include #include using names..