https://programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 우선순위 큐는 기본 정렬이 내림차순이기 때문에 greater를 통해 오름차순으로 정렬해준다. 우선순위 큐에 스코빌 지수를 넣고, 무한 반복문을 돌면 되는데 탈출 조건이 두가지가 있다. 첫번째로는 pq.size()가 2보다 작으면 pop을 두번 할 수 없고 모든 음식의 스코빌 지수를 K이상으로 만들 수 없다는 뜻이기 때문에 -1을 return 해준다. 두번째로는 pq.top()이 K보다 크거나 같을 때..
level2
https://programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 이 문제는 10진수를 2진수로 바꾼 뒤, 1의 개수만 같으면 되기 때문에 특별히 reverse를 해주지 않았다. 처음 n을 2진수로 변경했을 때 1의 개수를 cnt1에 담고, n을 계속 1씩 더하여 2진수로 변경했을 때 1의 개수를 res에 담아서 두 값이 같다면 무한 반복문을 탈출하여 n값을 리턴하는 식으로 구현했다. #include #include using namespace std; string..
https://programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 bfs의 가장 기본 알고리즘이다. 만약 dist[maps.size() - 1]maps[0].size() - 1] 부분이 0이라면 도달하지 못했다는 뜻이므로 -1을 리턴해준다. #include #include using namespace std; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, -1, 0, 1}; int dist[101][101]; int bfs(int x, ..
https://programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 이 문제는 3진법의 변형 문제이다. 10진수에서 3진수를 구할 때의 알고리즘을 쓰면 되는데 만약에 나머지가 0이라면 0 대신 4를 붙여주면 되는 문제이다. 더하여, n의 값에 -1을 해줘야한다. 풀이 1 #include #include #include using namespace std; string solution(int n) { string answer = ""; while(n != 0){ if(..
https://programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 이 문제는 홀수인지, 짝수인지 구분해서 해결해야하는 문제이다. 짝수일 경우에는 비트의 끝자리가 항상 0이기 때문에 다음 숫자가 들어오면 끝자리가 0에서 1로 바뀌게 된다. 그러므로 x보다 큰 값은 항상 현재값 + 1이 된다. 그러나, 홀수일 경우에는 비트의 끝자리가 항상 1이기 때문에 **올림수**가 발생하게 된다. 1이 연속하는 수를 세어 3번 연속이라면 2의 2제곱, 4번 연속이라면 2의 3제곱 ..
https://programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 2 x n 타일링은 피보나치 규칙이다. 그러므로 다이나믹 프로그래밍의 기본대로 구현하면 된다. #include #include using namespace std; int dp[60001]; int dynamic(int n){ dp[1] = 1; dp[2] = 2; for(int i = 3; i