분류 전체보기 (403) 썸네일형 리스트형 프로그래머스 - 키패드 누르기 (C++) 처음엔 *, #에서 동시에 시작하는 그래프 문제인가? 싶었는데 그냥 구현문제였다. 각 자리의 좌표를 기억하고 갱신해주면 되는 간단한 문제이다. 뭔가 반복문을 잘 쓰면 코드를 줄일 수 있을 것 같은데 그냥 무식하게 했다. #include #include #include using namespace std; string solution(vector numbers, string hand) { string answer = ""; int leftx = 3; int lefty = 0; int rightx = 3; int righty = 2; for(int i = 0; i < numbers.size(); i++){ if(numbers[i] == 1){ leftx = 0; lefty = 0; answer.push_ba.. 백준 3190번 뱀 (C++) 삼성 SW 역량 테스트 기출 문제이다. 역시 삼성은 dfs bfs 엄청 좋아하는 것 같다. 그리고 언제나 그렇듯이 뭔가 되게 애매하게? 문제를 낸다.... 이번에도 가장 중요한 포인트가 있었다. 1. 시간이 끝나고 방향이 변한다. 즉 8 D 라고 들어오면 8초가 끝난 후 9초부터 방향이 바뀌는 것이다. 2. 1,1 부터 시작은 우리 일반 적 배열에선 0,0 에서 시작하는 것과 같다. 나의 풀이 - 각 방향이 주어지고 어떠한 거리를 구하는 것이 아니기 때문에 DFS가 적절하다. - 지나온 지점을 모두 기억하고 있어야한다. 이동할 수록 꼬리의 위치가 바뀌기 때문이다. 나의 경우 큐에 담아두었다. - 이번에 간 지점이 사과이면 큐에 담기만 하고 방문표시를 한다. - 이번에 간 지점이 사과가 없으면 큐에 담고 .. 백준 5014번 스타트링크 (C++) 전형적인 bfs문제이다. bfs의 근거는 다음과 같다. 1. 최소값을 구한다. 2. 갈수있는 방향과 칸수가 정해져있다. 그리고 조심해야할 점으로는 빌딩의 층을 넘어가면 아에 동작하지 않아야하는 것과 빌딩에는 0층이 없다 는 것을 간과해선 안된다. 그리고 c++ 에서 배열의 최댓값은 컴파일러에 따라 다르지만 VS의 경우 1메가바이트 = 1백만 바이트이기 때문에 거리를 저장할 배열을 정적으로 선언해놓는 것이 힘들다. 때문에 동적할당을 통해 거리와 방문여부를 체크할 배열을 만들었다. #include #include using namespace std; int main() { int F, S, G, U, D; queue q; cin >> F >> S >> G >> U >> D; int* dis = new int.. DFS를 활용한 조합 조합이란 우리가 고등학교 때 배웠던 Combination을 말한다. 조합은 순서를 반영하지 않는다. 즉 1 2 3 과 2 1 3 은 같은 조합이다. 우리가 아이폰, 에어팟 조합과 에어팟, 아이폰 조합을 구분하지 않는 것과 같다. 개발을 하다보면 조합을 활용해야할 경우가 상당히 많다. 그때 dfs를 활용한 조합 코드를 유용하게 사용할 수 있다. 그러나 완전탐색을 해야하는 경우나 N이 크다면 조합은 지양하는 것이 좋은데, 우선 백트레킹 방식을 사용하는 dfs 조합은 재귀 방식을 사용하기 때문에 자연스럽게 오버헤드의 부담이 생길 수 밖에 없다. EX) 1, 2, 3, 4 중 3개를 뽑는다고 가정하자. 그렇다면 1 2 3 1 2 4 1 3 4 2 3 4 앞자리수를 고정하는게 가장 편리하다 . dfs또한 이를 따.. 백준 2295번 세 수의 합(C++) 어려운 문제였다. 문제를 잘 읽고 분석하는게 참 중요했던 문제. 이런 문제도 있구나 세상은 넓고 나는 너무 ㅈ밥이다.... 처음 생각한 풀이: 1. nC3 조합을 구함 2. 집합에 속하면 삽입 3. answer를 max로 갱신 -> 시간초과. 이 문제는 완탐을 해야하는데 그 도구가 DFS 조합이었다. 그러나 N이 클 때는 오버헤드 문제를 고려하여 반복문 BF보다 조합이 훨신 느리다. 시간복잡도는 O(2^100 * N^M) 두 번째로 생각한 풀이: 1. BF로 모든 값을 구함 2. 벡터에 삽입 3. 주어진 집합을 sort 4. 주어진 집합의 최대값부터 이분탐색 5. 큰 값부터 찾으니 존재하면 출력 후 종료 이것도 틀렸다. 우선 3개를 고르기 때문에 기본적으로 O(N^3)의 시간이 걸리니 이분탐색까지 하면 .. 리눅스 - 자주 쓰는 명령어 포트 상태 : netstat -tnlp mysql 실행 : sudo service mysql start mysql 접속 : sudo /usr/bin/mysql -u root -p 서버 백그라운드에서 계속 스프링 실행 nohup java -jar 파일이름.jar & Spring Boot - http통신에서 PUT 명령 GET -> 읽기 POST -> 쓰기 PUT -> 수정 Future _putRequest(){ return http.put( Uri.parse('HPPT 주소'), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: jsonEncode({ '문서이름' : '값', '문서이름' : '값' }), ); } 값은 나중에 다 알아서 들어감. 똑똑한 플러터 스프링 하, 이거 진짜 못찾았는데 공식문서에 너무 친절하게 설명되있었음.. Spring Boot(Java) - 자바에서 원하는대로 정렬 C++과 유사하지만 Collections 라는 컴포넌트? 함수? 제네릭? 을 사용함 이전 1 ··· 41 42 43 44 45 46 47 ··· 51 다음