목록Programmers/Level 2 (79)
GitHubSeob

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 최대 2명이란 점을 못 보고 풀다가 삽질했다.. lower_bound를 이용해서 풀어봤는데 효율성에서 시간초과가 나서 방법을 바꿨다. 투포인터 알고리즘을 사용해 풀었다. 오름차순이든 내림차순이든 상관은 없지만 오름차순으로 풀었다. 굳이 두 사람의 합을 limit에 가까이할 필요가 없다. 최대 2명이 탈 수 있고, 정렬을 했기 때문에 반례가 나올 수 없다. 가장 가벼운 사람과 가장 무..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 현재 온 거리 x2 하는 점프는 건전지 사용량이 들지 않는다. 따라서 x2 하는 점프를 많이 해야 한다. 0부터 하게 되면 어느 순간에 해야 효율적인지 알 수 없으므로 거꾸로 해야 한다. n을 2로 계속 나누면서 홀수가 되면 -1을 하고 n이 0이 될 때까지 계속 반복한다. 예를 들어 n이 6이라 해보자. 6 -> 3, 3은 홀수 이므로 -1 2 -> 1, 1은 홀수이므로 -1 다시..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] school.programmers.co.kr 문제풀이 끝말잇기를 지는 경우는 세 가지이다. 1. 이..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12945? 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 DP를 이용, 피보나치 수의 성질을 이용하여 DP[idx] = DP[idx -1] + DP[idx - 2]를 n까지 구한다. 문제에 나온 1234567로 나눈 나머지를 다시 저장한다. 코드 #include #include #define DIV 1234567 using namespace std; int solution(int n) { int answer(0), idx(0); vect..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1. 십진수 n을 이진수로 변환 (큰 숫자를 구할 때 자릿수 증가를 대비하여 끝에 0을 붙임) 2. next_permutation을 통해 한 번만 다음 큰 숫자로 변환 3. 이진수 n을 십진수로 변환 코드 #include #include #include using namespace std; int solution(int n) { int idx(0), btoi(1), answer(0)..

문제 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. 스택이 비어있지 않고, 괄호가 ')' 일 때 스택에는 무조건 이 경우에 의해서 무조건 스택에는 '('만 들어가 있다. ..