Problem Solving
-
[BOJ]백준 15353번: 큰 수 A + B (2)Problem Solving/BOJ(백준) 2019. 7. 10. 15:19
https://www.acmicpc.net/problem/15353 15353번: 큰 수 A+B (2) 첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000) www.acmicpc.net 단순히 a+b를 계산하면 되는 문제이지만, a와 b의 범위가 정수형 자료형이 저장할 수 있는 범위를 한~참 넘기 때문에 일반적인 더하기 기호를 쓰면 안된다. 대신에 아주 고전적인 더하기 방법을 사용해야 함 ㅎㅎ 각각의 숫자를 문자열에 저장하고, 맨 마지막 숫자부터 더하기 연산을 해준다 각 자리수의 덧셈 결과가 10 이상이면 다음 자리수에 +해주기 두 숫자의 자리수가 각각 다른 경우까지 고려해줘서 조건을 추가해줘야 한다 #include #include int main() { int n1, n2, idx=0, ..
-
[BOJ]백준 11403번: 경로 찾기Problem Solving/BOJ(백준) 2019. 7. 5. 23:03
BFS 혹은 DFS 입문자가 풀면 좋을 기초 문제 https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net 방향 그래프가 주어졌을 때, 임의의 정점 (i,j)의 경로 조합을 인접행렬을 사용해서 출력하는 프로그램 bfs의 핵심은, ① 큐를 사용한다 ② 이동 가능하다면 바로 방문 체크 인데, BFS를 잘 모르는 초심자가 풀기 좋은 문제라고 생각한다. #include #include #include using namespace std; int n; bool g[101][101], visit[101];..
-
[BOJ]백준 16198번: 에너지 모으기Problem Solving/BOJ(백준) 2019. 6. 24. 23:46
https://www.acmicpc.net/problem/16198 16198번: 에너지 모으기 N개의 에너지 구슬이 일렬로 놓여져 있고, 에너지 구슬을 이용해서 에너지를 모으려고 한다. i번째 에너지 구슬의 무게는 Wi이고, 에너지를 모으는 방법은 다음과 같으며, 반복해서 사용할 수 있다. 에너지 구슬 하나를 고른다. 고른 에너지 구슬의 번호를 x라고 한다. 단, 첫 번째와 마지막 에너지 구슬은 고를 수 없다. x번째 에너지 구슬을 제거한다. Wx-1 × Wx+1의 에너지를 모을 수 있다. N을 1 감소시키고, 에너지 구슬을 1번부터 N번까지로 다 www.acmicpc.net 난이도 쉬운 백트래킹 문제이다 백트래킹 문제의 특성은 주로 두 가지인데 ① 조합&완탐을 이용한다 ② 재귀함수를 이용하여 함수 호..
-
[BOJ]백준 17254번: 키보드 이벤트Problem Solving/BOJ(백준) 2019. 6. 23. 16:03
https://www.acmicpc.net/problem/17254 17254번: 키보드 이벤트 첫째 줄에 연결된 키보드의 개수 N과, 키보드를 누르게 될 횟수 M이 주어진다. (1 ≤ N, M ≤ 1,000) 다음 M개의 줄에 정수 a, b와 문자 c가 주어진다. 이는 a번 키보드로, b초에 문자 c가 적힌 키를 누를 것이라는 의미이다. (1 ≤ a ≤ N, 0 ≤ b ≤ 1,000,000) 키보드에는 알파벳 대문자와 숫자키만 존재한다. www.acmicpc.net 문제는 길지만, 정렬을 응용하여 풀 수 있는 간단한 문제였다 입력은 키보드 넘버 N, 키보드 입력 횟수 M과 각 M개의 입력에 대한 A번 키보드로 B초에 문자 C가 적힌 키를 누를 때, 화면에 출력될 글자는? 우선순위는 시간>키보드번호(오름..
-
[BOJ]백준 17144번: 미세먼지 안녕!Problem Solving/BOJ(백준) 2019. 6. 23. 15:50
https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 왼쪽 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼 www.acmicpc.net 전형적인 단계별로 구현하는 문제!! 초기 상태가 주어졌을 때, 각 칸에는 미세먼지의 양이 써져있고, 1초 동안엔 아래의 루틴이..
-
[BOJ]백준 11559번: Puyo PuyoProblem Solving/BOJ(백준) 2019. 5. 17. 00:45
https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 현재 주어진 상황에서 몇연쇄가 되는지 출력하라. (하나도 터지지 않는다면 0을 출력하면 된다.) www.acmicpc.net 삼성 역테를 준비중이라면 다들 풀어봤을 대표적인 구현문제 뿌요뿌요의 특징은 1. 같은 색 뿌요가 4개 이상 연결(상하좌우)되어있을 경우 터진다 for(모든 좌표를 탐색) 연결요소 수 = bfs(현재좌표) if(연결요소 수>=4) 현재 좌표와 연결된 요소들 '.'로 변경한다 2. 한번에 여러 그룹이 터지는게 가능할 경우 동시에 터진다 3. 공중에 떠있을 경우 중력의 영향을 받아 아래로 떨어진다 for(행 탐색) for(열 탐색) 뿌요가 있을경우 큐에 삽입 for(열 탐색) 아래에서부터..
-
[BOJ]백준 16917번 : 양념 반 후라이드 반Problem Solving/BOJ(백준) 2019. 4. 26. 23:41
https://www.acmicpc.net/problem/16917 16917번: 양념 반 후라이드 반 현진 치킨에서 판매하는 치킨은 양념 치킨, 후라이드 치킨, 반반 치킨으로 총 세 종류이다. 반반 치킨은 절반은 양념 치킨, 절반은 후라이드 치킨으로 이루어져있다. 양념 치킨 한 마리의 가격은 A원, 후라이드 치킨 한 마리의 가격은 B원, 반반 치킨 한 마리의 가격은 C원이다. 상도는 오늘 파티를 위해 양념 치킨 최소 X마리, 후라이드 치킨 최소 Y마리를 구매하려고 한다. 반반 치킨을 두 마리 구입해 양념 치킨 하나와 후라이드 치킨 하나를 만드는 방법도 가 www.acmicpc.net 양념치킨, 후라이드치킨, 반반치킨의 구매 수를 조절해서 목표하는 치킨 수를 만들 수 있는 최소 금액을 구하는 문제이다. ..
-
[BOJ]백준 16923번: 다음 다양한 단어Problem Solving/BOJ(백준) 2019. 4. 26. 01:17
https://www.acmicpc.net/problem/16923 16923번: 다음 다양한 단어 다양한 단어란 모두 다른 알파벳 소문자로만 이루어진 단어를 의미한다. 예를 들어, "codeplus", "coding", "algorithm"은 다양한 단어, "baekjoon", "startlink"는 다양한 단어가 아니다. 다양한 단어 S가 주어졌을 때, 사전 순으로 S의 바로 다음에 오는 다양한 단어를 구해보자. www.acmicpc.net 다양한 단어 ? -> 모두 다른 알파벳 소문자로만 이루어진 단어 ex. coding, algorithm, ijin(x) 단어가 주어졌을 때 사전 상으로 주어진 단어의 바로 다음에 오는 단어를 출력하는 문제이다 다음 단어를 찾는 알고리즘을 구현하는 문제이다 이 문제..