Problem Solving
-
[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) 단어가 주어졌을 때 사전 상으로 주어진 단어의 바로 다음에 오는 단어를 출력하는 문제이다 다음 단어를 찾는 알고리즘을 구현하는 문제이다 이 문제..
-
[BOJ]백준 15804번: 저거 못 타면 지각이야!!Problem Solving/BOJ(백준) 2019. 4. 25. 00:45
트럭문제는 정직하게 큐를 써서 풀었는데, 맞은 사람들을 보니까 굳이 안써도 풀 수 있구나 싶었다 메모리 계산이나 시간 계산같은 것은 아직은 할 줄 모르지만.. 나는 극한의 효율충이기 때문에 원리 자체는 큐이지만 했지만 배열로 풀었다 항상 문제푸는 스킬?이 부족하다는 생각을 하는데 현재까지는 그냥 알고리즘을 생각하고 그걸 수도코드로 만들어서 코드화를 시키고 있다 그래서 //현재 정차되어 있는 버스들의 시간을 1씩 감소시킨다 //정차할 수 있다면(빈자리가 있다면) 다음 버스를 정차시킨다 크게 두 단계에서, 각각의 과정을 세분화해서 알고리즘을 코드로 구현한게 끝이다 변수 cn = 현재 정차중인 버스 수 ct = 현재 단위 시간 fin = 정차를 마치고 빠져나간 버스 수 index = 다음에 들어갈 버스의 ..
-
[BOJ]백준 11718번: 그대로 출력하기Problem Solving/BOJ(백준) 2019. 2. 6. 21:32
문제 : 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력조건: 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. 출력: 입력받은 그대로 출력한다. printf와 scanf만 사용하는 간단한 문제 같지만, 의외로 한번에 맞히는 사람이 드물다알고리즘 문제풀이에 이용되는 스킬들을 알고있으면 바로 풀 수 있는 간단한 문제 한 줄이 100글자를 넘지 않는 입력조건을 고려해주어 문자열 배열 크기를 설정한다(참고로 입력 조건 중에서는 코드를 짤 때 고려해주어야 하는 조건과, 아닌 조건이 존재한다)12345#include i..