-
14502.연구소알고리즘/백준 BAEK JOON 2020. 5. 25. 07:09
이번 문제는 연구소이다. 꽤 많이 중요한 내용을 배우고 상기할 수 있는 문제였다. 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 이 문제를 푸는데 핵심은 맵을 복사해서 사용한다는 것과 나머지는 탐색이다. 난이도는 어려운 수준이 아닌 거 같지만 초보자에게 연습하기는 좋은 문제인 것 같다( 난 초보자 ㅠㅠ.. 너무좋네...) 재귀함수 관련된 문제를 조금 더 풀어봐야할 것 같다. * 문제풀면서 중요한점 1. 문자, 특수기호 실수 => 실수로 자꾸 if문 다음에 변수에 값을 대입할 때 "=" 대신 "=="를 사용하여 틀림 주의..
-
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..
-
2667.단지번호붙이기알고리즘/백준 BAEK JOON 2020. 5. 21. 23:40
이번에 풀어볼 문제는 단지번호붙이기이다. 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. � www.acmicpc.net 생각보다 이상한곳에 막혀서 시간낭비를 했다. 시간은 1시간 30분정도 걸렸고 목표한 시간보다 30분이나 초과되었다. 사실 30분컷 낼 수 있었는데 이걸 코드하나를 잘못집어넣어서 하루종일 걸렸다.. 후... DFS를 이용해서 풀었고 이 문제의 포인트는 Stack를 이용하되 Stack에 자신이 이동한 부분의 좌표를 넣어주는 것이다. 그래야지 DFS로 쭈욱 탐색하다가 막혔을 때 다시 돌아가서 탐색하지 않은 방향으로 탐색을 진행..
-
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이라..
-
2529.부등호알고리즘/백준 BAEK JOON 2020. 5. 18. 01:20
(*)이번에 풀어볼 문제는 백준의 2529번 부등호이다. 꽤 오랜시간이 걸린 문제이다..ㅠㅠ 역시나 풀이 전 침착하게 분석으로 규칙을 찾아야한다.. 분석을 조지거나 안하고 구현을 시작하면 예외처리를 빼먹을 시, 다시 구현해도 시작이 부족할 것이다.. -> 조짐의 지름길.. 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제�� www.acmicpc.net 문제의 내용은 간단하다. k개의 부등호를 입력받아 부등호에 맞게 0~9까지의 숫자로 만들 수 있는 최소값과 최대값을 구하는 것이다. 생각보다문제가 어려웠다.. 규칙을 발견했는데 조금 침착하게 구현할 필요..
-
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..
-
[Mac OS] 모하비 -> 카탈리나 고려해야할점..ETC 2020. 5. 17. 15:23
혹시나 아무생각없이 업그레이드를 하려는 사람들에게 한 번 더 검색해보고 찾아보고 진행하길 바라는 점에 글을 쓴다.. 나는 아무 확인없이 그냥 업그레이드 했다가.. 다시 되돌렸다(분명히 잃은자료가 있겠지..어딘가에?..ㅠㅠ) 맥북을 사용하는 유저로 모하비를 사용하고 있었다. 아이패드 프로를 구매한 기념으로 Sidecar기능을 이용하기위해 맥북에서 카탈리나로 업그레이드를 했는데... VMware Fusion이 맛이 갔다.. 화면이 안나온다.. 찾아보니 Fusion 11을 사용해야하고 옵션설정을 해줘야한다고... 쩝... 당장 써야하는데 뭔.. 어쩔 수없이 눈물을 머금고 타임머신기능을 사용했다.. 다행인지 불행인지 백업날짜는 19년 12월이였고 그 이후에 했던 작업들만 따로 백업 후 진행에 성공했다.. 결론 ..
-
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 하지만.... 푸는 방법은..