목록전체 글 (71)
어읽로꾸거
백준 5558 링크 https://www.acmicpc.net/problem/5558 문제 해석(클릭?) 문제 올해도 JOI구역에서 치즈 공장이 생산을 시작해, 쥐들이 집에서 얼굴을 내밀었다. JOI구역은 동서남북으로 구역이 정리되어있고, 각 구역은 쥐집, 치즈공장, 장애물, 빈땅으로 정리할 수 있다. 쥐들은 집에서 출발하여 모든 치즈공장을 방문하여 치즈를 하나씩 먹는다. 이 구역에는 N개의 치즈공장이 있고, 치즈를 하나 먹을 때마다 체력이 1씩 오른다. 다만, 쥐는 자신의 체력보다 단단한 치즈를 먹을 수는 없다. 쥐는 동서남북으로 이웃해있는 구획에 1분걸려 이동할수 있으나, 장애물이 있는 구역에는 들어갈 수 없다. 치즈공장에서 치즈를 먹지 않고 지나가는 것도 가능하다. 모든 치즈를 먹는데 걸리는 최단시..
백준링크 https://www.acmicpc.net/problem/2975 풀이 🙄 코드 #include using namespace std; int main() { freopen("input.txt", "r", stdin); int account, change, result; char task; while (1) { cin >> account >> task >> change; if (account == 0 && change == 0 && task == 'W') break; if (task == 'W') result = account - change; if (task == 'D') result = account + change; if (result < -200)..
백준 링크 https://www.acmicpc.net/problem/4287 풀이 각 자리마다 몇개 차이나는지 구하고, 출력하면 됩니다. 🤪 코드 #include #include using namespace std; int diff(int a, int b) { //몇개 차이나는지 구함 if (b - a >= 0) return b - a; else return 26 - (a - b); } char change(char c, int n) { //바꿔줌 if (n == 0) return c; else { if (c == 'z') return change('a', n - 1); else return change(c + 1, n - 1); } } int main() { freopen("input.txt", "r"..
백준 2504 링크 https://www.acmicpc.net/problem/2504 풀이 과정 이 문제는 크게 두 부분으로 나눠서 풀었습니다. 한 부분은 주어진 괄호가 올바른 괄호인지를 판단하는 부분입니다. 스택을 이용하여 판단할 수 있습니다. 만약 괄호가 올바르지 않다면 바로 '0'을 출력하지만 올바르다면 다음 부분으로 넘어갑니다. 만약 괄호가 올바르다면 괄호의 값을 구하면 됩니다. 괄호의 값을 구하는 방법은 다음과 같습니다. 1. 둘러 싸일때 마다 발생하는 값을 저장하는 배열을 생성한다. ex) int ar[20]; ( ) 이면 한번 둘러싸였으므로 ar[1]에 발생하는 값을 저장하면 되고 ([( )]) 이면 3번 둘러싸였으므로 ar[3]에 저장해주면 됩니다. 주어지는 괄호들이 최대 30개 이므로 둘..
백준 16118 링크 https://www.acmicpc.net/problem/16118 정말 어렵게 풀었습니다 😣 대략 이 문제를 접한지 2~3주 만에 풀었습니다. 처음엔 금방 풀 수 있을줄 알았는데 그게 아니었습니다. 여러 사람들에게 물어보고 또 질문하고, 다시 한번 물어보고(이해가 안되서 물어봄), 생각해보고. 그러던 끝에, 해답을 알게 되었습니다. 이제와서 생각해보니 크게 어려운건 아닌거같기도 하고 🙄 처음에 접근한 방법 다익스트라 문제인건 알겠는데 어떻게 해결하지? 아하, 여우와 늑대가 다익스트라 하는것을 각각 따로 만들어서 해주면 되겠지. 그냥 여우 거리 배열(dp_f[]),늑대 거리 배열(dp_w[]) 만들어서 하면 될꺼야. 그러면 처음엔 느리다가 나중에 빨라지는 경우를 구할 수 가 없게 됩..
백준 16469 링크 https://www.acmicpc.net/problem/16469 해결 과정 45분정도 걸려서 구상하고 예제에서 걸린거 해결후 한번에 통과! 😎 우선 악당들 3명의 위치를 입력받고 바로 {y위치, x위치, 악당번호} 를 매개로 큐에 넣어준다. 그리고 3개의 각각의 악당 방문배열을 만들어 bfs로 돌아다닐때마다 언제(몇 턴) 도착했는지 기록한다. 큐에서 다 탐색한 후 다시 탐색을 돌며 방문배열 3개를 비교하여 3명 다 방문했는지, 해당 칸의 최소값이 몇인지를 구하여 답과 비교 한다. 코드 #include #include using namespace std; typedef struct pack{ int y, x, who; }; int y[] = { 0,0,1,-1 }; int x[] ..
백준 16953 링크 https://www.acmicpc.net/problem/16953 해결과정 A에서부터 DFS로 탐색 범위에 맞지 않으면 버리기 코드 #include #include using namespace std; int main() { //freopen("input.txt", "r", stdin); long long a, b; cin >> a >> b; queue q; q.push({ a,1 }); while (!q.empty()) { long now = q.front().first; long count = q.front().second; q.pop(); if (now == b) { cout
- 기본원리 8 : 한 나라의 생활수준은 그 나라의 생산 능력에 달려있다 국민 생활수준의 격차나 변화는 생산성 productivity 의 차이에 의해 결정된다. 생산성이란 노동 한 단위를 투입하여 만들어낼 수 있는 재화와 서비스의 수량을 뜻한다. 생산성이 높은 국가에선 국민들의 생활수준이 높고, 생산성이 낮은 국가는 궁핍한 생활을 견뎌야 한다. 마찬가지로 한 나라의 생산성 증가율이 그 나라 국민소득 증가율을 결정한다. 생산성과 생활수준의 관계는 간단하지만, 의미는 크다. 생산성이 생활수준에 있어서 가장 중요한 변수이기 때문에, 다른 변수들은 부차적이다. 사람들은 노동조합이나 최저임금제가 국민들의 생활수준을 높인다고 생각한다. 하지만, 실제로 혜택을 가져다 준것은 생산성의 향상이다. 반대로 수입품 증가와 ..