본문 바로가기
728x90
반응형

삼성SW기출문제5

[algorithm] 백준 - 낚시왕 삼성 SW기출 문제이자 시뮬레이션이며, 시간 제한이 1초라는 것을 유의해야한다 상어의 크기는 모두 다 다르다는 특징이 있다. 격자의 크기는 R,C 상어의 수 m, 상어 위치 r,c 속력 s ,이동방향 d, 크기 z이다. 낚시왕이 1번열의 한칸 왼쪽에 있다. 가장 오른쪽 열에 위치하면 이동을 멈춘다. 1초 동안 아래 연산이 이루어진다. 1. 낚시왕이 오른쪽으로 한칸 이동한다. 낚시왕이 낚시를 끝낼 때까지 연산이 이루어져야하므로 while문 안에서 아래의 작업을 수행한다. int king = 0, answer = 0; while(king != C){ king++; answer += catchShark(king); moveShark(); eatShark(); } 2. 낚시왕이 위치해있는 열에서 가장 가까운 상.. 2020. 12. 29.
[algorithm] 백준 - 치킨배달 이 문제는 삼성 SW 기출 문제이다. brute force로 풀었다. 치킨집 중에서 m개를 뽑아서 가정집과 치킨집의 차가 가장 적었을 때 얼마인지 구하는 것이다. 우선 가정집벡터와 치킨집벡터로 나누어 지도를 입력받을 때 값을 넣어준다. for(int i = 0; i > house[i][j]; if(house[i][j] == 2){ chickenVector.push_back({i,j}); } if(house[i][j] == 1){ houseVector.push_back({i,j}); } } } 최대 m개를 뽑아야하므로 m으로 target을 정해 조합으로 풀었다. 최대라고 해서 target에 1부터 m까지 대입시켜 함수를 호출했는.. 2020. 12. 27.
[algorithm] 백준 - 사다리 조작 삼성 SW 기출 문제이다. brute force와 구현문제이다. 간단히 설명하자면, 사다리 타기 게임인데, 각 세로줄이 게임을 완료한 후에도 동일한 위치에서 끝나야한다. 참고로 사다리의 가로줄은 맞닿을 수 없다. 사다리 원번호 num, 현재 번호 pnum, 직전에 탄 사다리 좌표 a,b에 대한 자료형을 만들었다. struct width{ int a,b; }; struct ladder{ width w; int number,pnumber; }; 사다리 타기 전, a는 0으로, b는 num, pnum은 num으로 초기화한다. 사다리 이동 방식 1. pnum과 b가 동일하거나, pnum - 1이 b와 동일할 경우, 그리고 직전에 탐색했던 가로 좌표가 아닐 경우, 직전에 탐색했던 a보다는 크지만 그 중에서 가장 .. 2020. 12. 25.
[algorithm] 백준 - 감시 삼성 SW 기출 문제이며, 꽤나 긴 코드를 요구하는 문제이다. dfs로 구현했다. CCTV 종류는 총 5가지로, 다음과 같이 회전할 수 있다. 따라서 방향을 미리 설정해뒀다. pair direction[] = {{-1,0}, {1,0}, {0, -1}, {0, 1}}; pair secondDirection[] = {{{-1,0}, {1,0}},{{0,-1},{0,1}}}; pair thirdDirection[] = {{{-1,0},{0,-1}},{{1,0},{0,1}}, {{1,0},{0,-1}}, {{-1,0},{0,1}}}; tuple fourthDirection[] = {{{-1,0},{0,-1},{1,0}},{{0,-1},{-1,0},{0,1}},{{1,0},{-1,0},{0,1}},{{0,1},.. 2020. 12. 24.
728x90
반응형