c++
-
7576.토마토알고리즘/백준 BAEK JOON 2020. 5. 25. 21:18
이번 문제는 토마토이다! 비교적 쉬운 문제에 속한다. BFS를 이용하면 간단히 풀 수 있는데 BFS로 퍼지면서(토마토가 익으면서) 내부의 값(걸리는 시간값)을 잘 지정해주어야한다! 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토� www.acmicpc.net #pragma warning(disable:4996) #include #include #define MAX 1001 using namespace std; int n, m; int map[MAX][MAX]; int dx[4] = { -1, 1, 0..
-
Visual Studio 디버깅 시, 입력 붙여넣기 안 될때!알고리즘/알고리즘 개념 및 정리 2020. 5. 22. 22:59
과거에는 보통 코딩을 리눅스에서 하며 Qt를 애용했는데 요즘 Visual Studio를 자주 사용하고 있다. 사용하면서 가장 불편했던 것은 디버깅모드에서 입력 값이 붙여넣기가 안된다는 것이다..(내가 못하는건가..?) Qt Creator는 잘만되던데.. ( Qt Creator 짱짱.. ) => 여튼 그래서 다른 방법을 사용해야 편하게 코딩을 즐길 수 있다! 여튼 이런경우에는 아래의 freopen함수 한 줄만 추가해주면 간단하게 디버깅 시에 입력을 할 수 있다. freopen("input.txt", "r", stdin); input.txt 파일의 경로는 그냥 리소스파일에 추가하면 굳이 경로 안찾아도된다. 그리고 이처럼 진행할 시에 위와 같은 보안 관련 error 메시지를 볼 수 있다. #pragma war..
-
15649 ~ 15652.N과 M(1~4)알고리즘/백준 BAEK JOON 2020. 5. 20. 02:05
이번에 풀어볼 문제는 순열과 조합 및 재귀함수와 관련된 문제이다. 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구..
-
1541.잃어버린 괄호알고리즘/백준 BAEK JOON 2020. 5. 18. 23:48
이번에 풀어볼 문제는 잃어버린 괄호이다! 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 나름대로 규칙성을 찾아서 문제푸는것을 시도했기에 시행착오도 생각보다 적었고 내가 원하는 시간내에 푸는 것에 성공했다. 백준의 분류 중 그리디 알고리즘 Part를 풀고있는데 정답률에 비해 난이도가 어렵게 느껴진다.. 기분탓인가...? 이 문제는 두 가지 해결점이 필요한다. 첫 번째는 바로 문자열에서 숫자와 괄호를 구별해 내는 로직이 필요하다. 이 점은 그냥 간단한 로직으로 해결했다. '+' 나 '-' 가 아니면 n이라..
-
1138.한 줄로 서기알고리즘/백준 BAEK JOON 2020. 5. 17. 15:37
(*)이번 문제는 너무 어렵게 풀어서 다른사람의 코드를 참고해서 글을 쓴다. 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 � www.acmicpc.net 참고:https://jaimemin.tistory.com/757 #include #define MAX 10 using namespace std; int arr[MAX]; int main(){ int n; cin >> n; for (int i = 0; i > pos; f..
-
1120.문자열알고리즘/백준 BAEK JOON 2020. 5. 17. 15:14
(*)이번에 풀어볼 문제는 백준의 1120번 문자열이다. A문자열은 B의 문자열보다 짧고 A문자열에는 문자열 앞과 뒤에 문자를 추가하는 두 가지 연산이 가능하다 이러한 연산은 B와 길이가 같아질 때까지 가능하고 추가해서 길이를 같게만든 문자열 A와 B의 차이를 최소화 시킬 수 있는 차이를 구하면된다. 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 � www.acmicpc.net 이 문제에는 함정이 있다. 곰곰히 생각해보면 피할 수 있다. -> 이래서 문제풀기전에 생각하는 시간이 가장 중요하다. 문..
-
1018.체스판 다시 칠하기알고리즘/백준 BAEK JOON 2020. 5. 4. 16:27
(*)이번에 풀어볼 문제는 백준의 1018 체스판 다시 칠하기이다. 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 이전에 풀었던 막대기처럼 정해진 비교대상이 있을 경우 비교 기준을 만들어놓고 비교해가는 방법을 사용했다. 1094.막대기 1094 역시 굉장히 쉬운문제이다. 이 문제는 쉽지만 포스팅하는 이유는 문제를 읽으면서 드디어 효율을 동시에 생각하기 시작했다고 느꼈기 때문이다. 이 문제는 막대기를 잘라서 자기가 원하는 X의 길이의 막대기.. xn--vj5b11biyw.kr 하지만.... 푸는 방법은..
-
14891.톱니바퀴알고리즘/백준 BAEK JOON 2020. 5. 1. 19:31
이번에 풀어볼 문제는 백준의 14891 톱니바꾸다. 난이도가 그렇게 어렵지는 않다. 쪼끔 까다롭게 느껴질뿐.. 모든 문제가 그렇듯 이 문제 역시 초반에 구상을 잘하고 들어가야한다. 그렇지 않으면 자신이 굉장히 까다롭게 느껴질 것이고 생각보다 많은 시간이 소요될 수 있다. ( 나의 코드를 추천하지는 않는다.. 너무 하수의 풀이인 것 같기 때문에...ㅎㅎ) 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴..