분류 전체보기 264

백준[15683]감시

삼성 SW역량테스트 문제이다. 링크 : https://www.acmicpc.net/problem/15683 4가지 방향을 기준으로 재귀 DFS를 통해 구현하는 문제이다. 예를들어 카메라가 하나있을 경우 가능한 4가지 방향에 대해 모두 탐색하면 된다. 그렇다면 카메라가 2개 있을때는 어떻게 처리해야 할까? 1, 2, 3, 4 를 동서남북 방향이라 잡고, A, B라는 카메라고 있다고 하자 표를 간단하게 그린다면 A B 1 1 1 2 1 3 1 4 A B 2 1 2 2 2 3 2 4 etc......... 이런식으로 나타낼 수 있다. 이 카메라수와 방향에 따른 조합을 모두 나타내었다면 문제의 내용대로 구현을 하면 된다. 참고로 필자는 이 구현부분을 모두 구현하는 바람에 코드가 길고 깔끔하지 않다. 카메라 종류..

백준[15686] 치킨 배달

삼성 SW역량테스트 문제이다. *작년 이문제를 풀어 면접을 봤었다...* 링크 : https://www.acmicpc.net/problem/15686 DFS(조합)를 사용해서 가능한 치킨집을 선별하여 문제에서 요구하는 거리의 합이 가장 작은 결과값을 출력하는 문제이다. 치킨집과 배달할 집의 좌표를 저장하고 선별한 치킨집에 따라 가까운 집을 선별하여 최단거리로 갈 수 있는 조합을 계속 갱신하면 답을 얻을 수 있다. next_permutation() 함수를 사용했지만, 일반 재귀 DFS로도 구현 가능하다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616..

백준[16236] 아기상어

삼성 SW역량테스트 기출문제이다. 출처 : https://www.acmicpc.net/problem/16236 이 문제는 BFS+문제의 요구사항에 맞는 구현 능력이 있다면 해결할 수 있다. 처음엔 문제를 읽어도 '뭐 어떻게 하라는 거지' 생각에 문제 이해하는데 시간이 오래 걸렸다. 필자가 언어이해력이 떨어진 것이 문제일 수도 있겠지만 어째뜬, 2번째 테스트케이스를 손으로 그려가며 문제를 이해할 수 있었다. 이 문제는, 상어의 위치, 크기, 먹을 수 있는 물고기 이 3가지를 저장하는 자료구조를 이용하여 BFS탐색을 통해 진행한다. BFS탐색을 하면서 먹을 수 있는 물고기의 위치로 모두 이동하고 그 수가 많다면 문제의 조건에 맞게끔 먼저 먹는다. 그 다음 상어의 위치를 갱신하고 그 위치에서 계속 BFS탐색을..

git 시작하기 (add,commit)

최근 오픈소스 협업과 함께 버전관리 및 협업도구들로 IT개발자들에게 필요로 함을 느끼게 되어 git과github에 대해 알아보고 싶었다. git : 버전관리 시스템github : 프로젝트 관리도구 처음 공부하는 사람들은 '어떻게 해야할까' 고민을 할 것이다. 필자도 이같은 고민을 하였으며 다행히 '오픈튜토리얼-생활코딩'에서 정보를 얻을 수 있었다. git : https://opentutorials.org/course/2708 github : https://opentutorials.org/course/2708/15465 필자는 add, commit 정도까지의 기본명령어만 공부하였으며, 앞으로 프로젝트를 진행하게 될 때, 나머지 필요한 부분도 공부할 생각이다. 수업내용을 간단히 정리하면, 1. 'git ba..