백준
-
PS/알고리즘 문제풀이 처음 시작하기(3) - freopen 함수를 활용한 입출력 간소화Problem Solving 2020. 3. 18. 19:21
우리는 알고리즘 문제를 풀 때 엄청나게 많은 시행착오를 거친다 요즘에는 알고리즘 문제 사이트, 기업 코딩테스트, 대회 문제 등에서도 입출력 형식은 거의 정해져있다 보통 많은 테스트케이스를 주기 때문에 디버깅을 할 때 마다 Ctrl+C, Ctrl+V로 입력해서 출력을 확인하기에는 너무 번거롭다 그래서 공인된 입력 꿀팁인 freopen(파일명, 모드, 스트림) 함수를 소개한당 (삼성 역테 풀러 갔을때도 주의사항에 이거 쓰라고 써져잇더라) 사용법 : 1. 솔루션 탐색기 - 리소스 파일 - 추가 - 새 항목 에서 Visual C++ - 유틸리티 - 텍스트 파일을 추가해준다 2. 파일명.txt의 내용에 문제의 입력값을 복붙해준다 3. 본문의 main함수 맨 윗줄에 freopen(파일명, "r", stdin); 문..
-
[BOJ]백준 17136번: 색종이 붙이기Problem Solving/BOJ(백준) 2019. 11. 12. 19:38
https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크기가 10×10인 종이 위에 붙이려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 0 또는 1이 적혀 있다. 1이 적힌 칸은 모두 색종이로 덮여져야 한다. 색종이를 붙일 때는 종이의 경계 밖으로 나가서는 안되고, 겹쳐 www.acmicpc.net 캐슬 디펜스와 같이 A형 기출문제였던 색종이 붙이기 문제!! 처음에는 그냥 로직을 맵을 돌면서 가장 큰 색종이부터 작아지는 순서대로 붙이는 그리디한 방..
-
[BOJ]백준 17822번: 원판 돌리기Problem Solving/BOJ(백준) 2019. 11. 6. 17:01
https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 각각의 원판에는 M개의 정수가 적혀있고, i번째 원판에 적힌 j번째 수의 위치는 (i, j)로 표현한다. 수의 위치는 다음을 만족한다. (i, 1)은 (i, 2), (i, M)과 인접하다. (i, M)은 (i, M-1), (i, 1)과 인접하다. (i, j)는 (i, j-1), (i, j+1)과 인접하다. (2 ≤ j ≤ M-1) (1, j)는 ( www.acmicpc.net 이것도 역량테스트 기출인 단순 구현문제다 원판돌리기를 비롯한 많은 회전 문제들은 실제로 회전하지 않아도 인덱스를 활용하면 아주 깔..
-
[BOJ]백준 17780/17837번: 새로운 게임, 새로운 게임2Problem Solving/BOJ(백준) 2019. 11. 5. 13:07
https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하나의 말 위에 다른 말을 올릴 수 있다. 체스판의 각 칸은 흰색, 빨간색, 파란색 중 하나로 색칠되어있다. 게임은 체스판 위에 말 K개를 놓고 시작한다. 말은 1번부터 K번까지 번호가 매겨져 있고, 이동 방향도 미리 정해져 있다. 이동 방향은 위, 아래, 왼쪽, 오른쪽 www.acmicpc.net 삼성 역량테스트 기출문제이면서, 주어진 요구사항대로 코딩하면 되는 단순 구현문제이다. 이 때, 문제에 명시되어 있는 조건들을 헷갈리..
-
[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) 단어가 주어졌을 때 사전 상으로 주어진 단어의 바로 다음에 오는 단어를 출력하는 문제이다 다음 단어를 찾는 알고리즘을 구현하는 문제이다 이 문제..