분류 전체보기
-
c++ array 배열 초기화 하는 방법유용한 정보 2020. 7. 3. 16:40
알고리즘 문제를 풀 때 배열을 초기화해야 하는 경우들이 있습니다. 해당 방법을 정리해보았습니다. 1.간단한 배열 초기화 방법 int arr[3] = {0,1,1}; 2. Bool형 배열 초기화 방법 bool arr2[3] = {false}; => 이와 같은 방법으로 초기화 시, 초기값들을 모두 false로 초기화할 수 있습니다. => 이와 같은 방법을 사용할 시, 처음 값만 설정한 값으로 설정되며 나머지 값은 false로 초기화됩니다. bool arr[3] = {true, true, true}; => 이와 같은 방법으로 배열을 모두 true로 초기화 할수 있습니다. 3. 선언한 뒤에 함수를 통해 초기화하는 방법 - fill_n fill_n(arr2, 3, true); => 초기화하려는 배열의 주소(배열의..
-
백준 11724 - 연결 요소의 개수백준 algorithm 2020. 7. 3. 16:27
=> graph의 연결 요소의 개수를 묻는 문제입니다. => 기존의 DFS와 BFS를 이해하신 분이라면 쉽게 풀 수 있는 문제입니다. 기존 방식대로기존 방식대로 입력을 받으며, 인접 행렬, 인접 리스트, 간선 리스트, check 행렬을 생성합니다. 연결 요소의 개수를 확인해야하므로 DFS나 BFS를 통해 Path를 찾으며 해당 check 행렬을 최신화합니다. 정점의 개수에 해당하는 check행렬이 모두 true가 될 때까지 진행합니다. 해당 프로세스를 진행하며 연결요소의 개수를 구합니다. *저는 DFS를 통해 연결요소의 개수를 셌습니다. 하지만 code에는 BFS함수까지 구현했으므로 BFS로 해도 무방합니다. *둘 중 어느 방법을 골라서 할지는 코드 작성자의 취향에 따라 갈립니다. #include #in..
-
백준 1260 -DFS와 BFS백준 algorithm 2020. 7. 3. 13:14
=> DFS와 BFS를 사용할 줄 아는지 묻는 문제였습니다. => 기본적으로 입력을 받을때 인접 행렬, 인접 리스트, 간선 리스트를 만들어두면 편합니다. => DFS와 BFS code 역시 형식이 정해져있으므로, 이해와 함께 암기해두시면 편리합니다. => DFS와 BFS에 대한 설명은 생략하겠습니다. => DFS : 깊이를 끝까지 따라가며 탐색하는 방법 ( stack을 사용하지만, 코드에서는 재귀를 통해 구현 가능) => BFS : 너비를 우선시하면 탐색하는 방법 ( queue를 사용하여 코드로 구현 가능) void dfs(int x, int n) //x는 탐색 시작점, n은 정점의 갯수 { check[x]=true; cout
-
백준 13023 - ABCDE백준 algorithm 2020. 7. 3. 11:42
=> 그래프와 브루트 포스가 섞여 있는 문제입니다. => 자료구조 시간에 배운 그래프를 기억해내야 합니다.. => 인접행렬, 인접 리스트, 간선 리스트 이 세 가지를 미리 만들어놓고 문제를 해결할 때 사용하면 좋습니다. => DFS, BFS 문제가 아니기 때문에 브루트포스 방식으로 문제를 풀어도 무방합니다. => 본인은 아래의 세가지 행렬과 리스트를 사용해서 문제 해결하였습니다. bool arr[MAX][MAX]; //인접행렬 vector list[MAX]; //인접리스트 vectoredges; //간선리스트 A -> B -> C -> D -> E 인 경로를 찾아야 한다. A->B , B->C는 그냥 간선이기 때문에 간선 리스트로 찾는다. ( 이 경우, 브루트 포스를 사용하기 때문에 각 값들이 다른 값을..
-
[ERROR] Target runtime Apache Tomcat v8.0 is not defined.Spring/Spring Quick Start 2020. 7. 1. 11:14
스프링 프로젝트를 실습하는 도중에 프로젝트에 X 표시가 쳐져있는 것을 확인하였다. Error를 확인해보니 Target runtime Apache Tomcat v8.0 is not defined. 라는 Error메세지를 보게 되었다. 방법만 알고 싶다면 맨아래를 확인하시면 됩니다. => 확인을 해보면 프로젝트 target apache ver이 실제와 맞지 않아서 발생하는 문제입니다. => 프로젝트 전체의 targeted runtime를 수정해야 한다. => Project 왼쪽 버튼 클릭 => Property => Targeted Runtimes(검색 or 스크롤하여 확인) => 본인이 설치한 Tomcat Server version 선택 => Apply => 위에 쓴 방법대로 실행해 보았다. => 방법대로 ..
-
안양 돈까스집 [곤돈]식사🍊🥑🍠🥯 2020. 7. 1. 00:29
안양에 이사 오고 나서 맛있는 돈가스 집을 찾아보았다. [곤돈]이 뜬다. 먹으러 한 3번은 간거 같은데 재료 소진이 생각보다 빠르다. 들어가면 바(Bar)형태의 식당임을 알 수 있고, 남 사장님과 여사장님이 보인다. 주문은 문앞에 있는 키오스크에서 해야 한다. 그렇다고 한다. 안심이다. 적당히 튀겨지고 굉장히 좋은 육질의 감이었다. 다른 테이블 들것에 비해 다소 더 튀겨진 감이 있었지만 기분 탓일 수도.... 등심이다. 개인적으로 고소한 등심이 마음에 들었다. 트러플 소금과 찍어먹는 맛이 훌륭했다. ***총평 : 돈가스로 유명한 정x에 비해 떨어지지 않는 맛이었다. 맛있는 돈가스를 10000원대에 먹을 수 있는 집이다. 또 갈 의향이 있는 집이다. 다만 브레이크 타임이 제대로 지켜지지 않는다는 점과 (5..
-
네오위즈 인턴 코딩테스트 후기코딩테스트 후기 2020. 6. 19. 00:12
🖖🖖🖖 알고리즘 3문제, SQL 3문제로 이루어져 있었다. 특이한 점은 c++이나 Python을 허용하지 않고 JAVA로만 테스트 응시가 가능하다는 점이었다. 프로그래머스 사이트를 통해 알고리즘 테스트가 진행되었다. 정해진 날 중 본인이 원하는 시간 내에 편한 시간에 문제를 풀면 된다. 문제풀이 시간은 300분(5시간)으로 굉장히 길었다. 아무래도 하나의 언어로 진행하다 보니 시간을 더 준 것이 아닐까 하는 생각을 하였다. 사전 테스트 문제와 실제 문제 간의 난이도 차이는 확실하다. 문제를 유출하지 않기로 서명하였기 때문에 문제에 대한 정보는 이 이상 알려줄 수 없을 듯하다. -백준 알고리즘의 DFS, BACK TRACKING, 구현등의 문제를 풀어보면 좋을 듯 싶다. -SQL의 경우 DBMS를 공부한 ..
-
백준 2941 - 크로아티아 알파벳카테고리 없음 2020. 6. 17. 16:36
=> 문자열을 다룰 줄 아는지 물어보는 문제입니다. => string 헤더를 제대로 이해하고 내장되어있는 함수들을 통해 풀 수 있습니다. => 저는 처음에 if문으로 구현할 수 있을 줄 알았는데, 해당 방식으로 하면 참조하지 말아야 할 위치를 참조하는 등의 잘못이 생깁니다. => string의 find() 함수와 replace 함수를 적절히 사용하여야 합니다. 크로아티아 알파벳을 담을 배열을 생성하고 초기화한다. 해당 크로아티아알파벳을 찾을 경우 해당 구간을 *로 바꿔준다 위의 과정은 같은 단어가 여러 번 들어가 있을 경우를 위해 다시 검색되지 않도록 하기 위해서 하는 과정이다. 해당 과정을 진행하며, 크로아티아 알파벳의 개수와 해당 알파벳의 길이를 점진적으로 구한다. 문자열의 길이 - 크로아티아 알파벳..