전체 글

git add . git commit -m "record web study" git push
카테고리 없음

[C/C++] 프로그래머스 코딩테스트 연습 : 더 맵게 (Heap)

문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil..

카테고리 없음

[C/C++] 백준 1890번 : 점프

문제 N×N 게임판에 수가 적혀져 있다. 이 게임의 목표는 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 점프를 해서 가는 것이다. 각 칸에 적혀있는 수는 현재 칸에서 갈 수 있는 거리를 의미한다. 반드시 오른쪽이나 아래쪽으로만 이동해야 한다. 0은 더 이상 진행을 막는 종착점이며, 항상 현재 칸에 적혀있는 수만큼 오른쪽이나 아래로 가야 한다. 한 번 점프를 할 때, 방향을 바꾸면 안 된다. 즉, 한 칸에서 오른쪽으로 점프를 하거나, 아래로 점프를 하는 두 경우만 존재한다. 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 이동할 수 있는 경로의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸..

카테고리 없음

[C/C++] 백준 2294번 : 동전 2

1원부터 k원까지 dp를 통해 최소개수를 구해나가는 문제. 문제풀이 만약 t원의 동전이 있다면 dp[t] = 1 t원의 동전이 없다면 dp[t] = dp[t-r] + dp[r] (0 > n >> k; for (int i = 0; i > temp; dp[temp] = 1; } for (int i = 1; i

카테고리 없음

[C/C++] 프로그래머스 이분탐색 징검다리

처음 문제를 봤을 때 이게 왜 이분탐색 문제지? 했다. 일단 이분탐색 무시하고 풀어봤다. 처음 접근은 바위 사이의 거리를 각각 구해주어 배열에 집어넣은 다음 그 배열을 sort하고 지지고 볶으면 답이 나올 줄 알았다. 근데 반례가 마구마구 생기길래 접었다. ㅎ 그리고 두번째 접근은 answer의 범위가 1

카테고리 없음

[C/C++] 백준 2580번 스도쿠 풀이

백트래킹 문제. ​ 이 문제는 특히 어렵다. 생각해야할 부분이 좀 많았다. 하지만, 전체적인 짜임새는 9663번 N-Queen 문제와 똑같다. ​ 아마 이문제 푸시는 분들이라면 9663번을 다 푸신 분들일 것이다. //BOJ 2580 #include #include #include #include #define ll long long using namespace std; ll arr[9][9]; vector zero; bool check(ll row, ll col, ll zeroNum) { for (ll i = 0; i < 9; i++) { if (arr[row][i] == zeroNum) return false; if (arr[i][col] == zeroNum) return false; } ll ser..

카테고리 없음

[C/C++] 백준 9663번 N-Queen 풀이

백트래킹 문제. 백트래킹은 브루트포스의 응용유형이라고 생각한다. 브루트포스와 유사하게 풀되, 가지치기만 해주면 백트래킹문제가 된다고 생각한다. ​ 가지치기란, 안될것같은 경우의 수는 미리 쳐내서 시간적이득을 볼 수 있는 스킬이라고 보면 된다. 백트래킹문제에서 가지치기를 하지 않게 되면 대부분 시간초과가 뜬다. 그래서 백트래킹문제는 시간초과와의 싸움이다.. ​ //BOJ 9663 #include #include #include #include #include #define ll long long using namespace std; ll n; ll cnt = 0; ll chess[15]; bool check(ll row) { for (ll i = 0; i < row; i++) { if (chess[i] =..

caseBread
caseBread's devlog