분류 전체보기
[백준 17822: 원판 돌리기] (C++)
삼성 SW 역량 테스트 https://www.acmicpc.net/workbook/view/1152 ㄴ원판 돌리기 https://www.acmicpc.net/problem/17822 l 문제 1. 중심이 같은 원판들을 주어진 조건에 따라 회전시킨다. 2. 원판 원판은 반지름이 1부터 N까지 크기 순서대로 놓여있다. ( 1이 가장 위 ) 3. 원판의 숫자 각의 원판에는 M개의 정수가 적혀있고, i번째 원판에 적힌 j번째 수의 위치는 (i, j)로 표현한다. ( x, y )는 ( x + 1, y ), ( x - 1, y ), ( x, y -1 ) ,( x, y + 1) 과 인접하다. 간단하게 동서남북 4방향으로 생각하면 된다. 주의할 점 y = 0 일 때 y - 1 위치는 -1이 아닌 M-1로 y = M-1..
[백준 17779: 게리맨더링 2] (C++)
삼성 SW 역량테스트 기출 문제 https://www.acmicpc.net/workbook/view/1152 ㄴ게리맨더링 2 https://www.acmicpc.net/problem/17779 l 문제 1. 재현시의 시장 구재현은 이번 선거에서는 최대한 공평하게 선거구를 획정하려고 한다. 2. 재현시 는 크기가 N×N인 격자로 나타낼 수 있다. 격자의 각 칸은 구역을 의미하고, r행 c열에 있는 구역은 (r, c)로 나타낼 수 있다. 3. 선거구, 구역 구역을 다섯 개의 선거구로 나눠야 하고, 각 구역은 다섯 선거구 중 하나에 포함되어야 한다. 선거구는 구역을 적어도 하나 포함해야 하고, 한 선거구에 포함되어 있는 구역은 모두 연결되어 있어야 한다. 구역 A에서 인접한 구역을 통해서 구역 B로 갈 수 있..
C++ 정렬 알고리즘 (버블정렬, 삽입정렬, 선택정렬, 합병정렬, 퀵정렬, 힙정렬, 셀정렬, 기수정렬)
본 게시글은 실전 기술을 정리해 놓은 '실전 압축' 입니다. 업데이트 중입니다. 버블 정렬( Bubble Sort ) 삽입 정렬( Insertion Sort ) 선택 정렬( Selection Sort ) 합병 정렬( Merge Sort ) 퀵 정렬( Quick Sort ) 힙 정렬( Heap Sort ) 셸 정렬( Shell Sort ) 기수 정렬 ( Radix Sort ) ◾ 제자리 정렬 정렬에 추가적인 메모리 공간이 들지 않는다. 아예 안 드는 것은 아니고 거의 무시할 정도의 메모리를 사용한다. • Insertion, Bubble, Selection, Quick • Tip : 최악이 O(n^2)인 것들이라고 기억 ◾ 안정 정렬 ( Stable Sort ) 정렬 전의 순서를 유지하고 정렬된다. • In..
[백준 17136: 색종이 붙이기] (C++)
삼성 A형 기출 문제 https://www.acmicpc.net/workbook/view/2771 ㄴ색종이 붙이기 https://www.acmicpc.net/problem/17136 l 문제 1. 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 2. 색종이를 크기가 10×10인 종이 위에 붙이려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 0 또는 1이 적혀 있다. 3. 1이 적힌 칸은 모두 색종이로 덮여져야 한다. 색종이를 붙일 때는 종이의 경계 밖으로 나가서는 안되고, 겹쳐도 안 된다. 또, 칸의 경계와 일치하게 붙여야 한다. 0이 적힌 칸에는 색종이..
[백준 17135: 캐슬 디펜스] (C++)
삼성 A형 기출 문제 https://www.acmicpc.net/workbook/view/2771 ㄴ캐슬 디펜스 https://www.acmicpc.net/problem/17135 l 문제 1. 캐슬 디펜스는 성을 향해 몰려오는 적을 잡는 턴 방식의 게임 2. 게임이 진행되는 곳은 크기가 N×M인 격자판 격자판은 1×1 크기의 칸으로 나누어져 있고, 각 칸에 포함된 적의 수는 최대 하나 격자판의 N번행의 바로 아래(N+1번 행)의 모든 칸에는 성이 있다. 3. 성을 적에게서 지키기 위해 궁수 3명을 배치 궁수는 성이 있는 칸에 배치할 수 있고, 하나의 칸에는 최대 1명의 궁수만 있을 수 있다. 4. 궁수를 배치한 이후의 게임 진행 l 게임 진행 순서 1. 각각의 턴마다 궁수는 적 하나를 공격할 수 있고,..
[백준 17143: 낚시왕] (C++)
삼성 SW 역량 테스트 기출 문제 https://www.acmicpc.net/workbook/view/1152 ㄴ낚시왕 https://www.acmicpc.net/problem/17143 l 문제 1. 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. ( R, C )는 가장 오른쪽 아래 칸 2. 칸에는 상어가 최대 한 마리 들어있을 수 있다. 상어는 크기와 속도를 가지고 있다. 3. 매 초 마다 다음 순서대로 일이 일이 일어난다. l 순서 1. 낚시왕이 오른쪽으로 한 칸 이동한다 낚시왕은 처음에 1번 열의 한 칸 왼쪽에 있다. 2. 낚시왕이 있는 열에 있는 상어 중에서 땅과 제일 가까운 상어를 잡는다. 상어를 잡으면 격자판에서 ..
[백준 17070: 파이프 옮기기 1] (C++)
삼성 A형 기출 문제 https://www.acmicpc.net/workbook/view/2771 ㄴ파이프 옮기기 1 https://www.acmicpc.net/problem/17070 l 문제 1. 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸(r, c)은 1부터 시작하며 빈 칸이거나 벽이다. 빈 칸은 0, 벽은 1로 주어진다. 2. 집 수리를 위해서 파이프 하나를 밀어서 이동시키려고 한다. 파이프는 →, ↘, ↓ 방향으로 밀 수 있다. 파이프는 밀면서 45도 까지 회전시킬 수 있으며, (→, ↘, ↓) 3가지 방향이 가능하다. 3. 놓여진 방향에 따라 이동 방법은 다음과 같다. 가로 : →, ↘ 세로 : ↘,..
[백준 16637: 괄호 추가하기] (C++)
삼성 A형 기출 문제 https://www.acmicpc.net/workbook/view/2771 ㄴ괄호 추가하기 https://www.acmicpc.net/problem/16637 l 문제 1. 길이가 N인 수식이 있다. 2. 수식(문자열)은 정수로 시작하고, 연산자와 정수 번갈아가며 나온다. 수식에 포함된 정수는 0이상 9이하, 연산자는 +, -, * 중 하나 3. 연산자 우선순위는 모두 동일, 수식 계산을 왼쪽에서부터 순서대로 한다. 3+8×7-9×2의 결과는 136 4. 수식에 괄호를 추가하면, 괄호 안에 들어있는 식은 먼저 계산해야 한다. 단, 괄호 안에는 연산자가 하나만 들어 있어야 한다. 중첩된 괄호는 사용할 수 없다. 추가하는 괄호 수 제한 없다. 추가하지 않아도 됨 5. 항상 올바른 수식..
[실전 압축 알고리즘] - 실수형을 특정 소수점 까지 출력
본 게시글은 실전 기술을 정리해 놓은 '실전 압축' 입니다. 몇 번째 자리에서 반올림 하여라. 또는 절대/상대 오차가 10^-9까지 허용한다. 이런식으로 주어지는 문제에서는 반드시 조건에 맞게 출력을 해주어야 합니다. 소숫점 9자리 까지 출력한다고 가정하였을 때 printf("%.9lf", a/b); cout > setprecision(8) = 33.14159200 ex) 3.141596 fixed >> setprecision(5) = 3.14160 정리 cout 사용시 n번째 자리 까지 출력해야 한다면 = 절대/상대 오차가 n 이라면 1. 정밀도를 위해 float형 대신 double형 쓰세요 2. fixed >> setprecision(숫자); // (꼭 fixed 를 붙여 자리수 넘어가면 0으로 채우..
[실전 압축 알고리즘] - C/C++ 문자 숫자 변환
본 게시글은 실전 기술을 정리해 놓은 '실전 압축' 입니다. C 스타일 변환 함수 변환 모습 설명 문자열 -> 숫자 #incldue (stdlib.h) 정수형 atoi, atol, atoll 실수형 atof int atoi (const char* str); "4" -> 4 "123" -> 123 문자열을 숫자로 변환해준다. 다른 형으로는 atof, atol, atoll 이 있다. 숫자 -> 문자열 #incldue (stdlib.h) char * itoa ( int value, char * str, int base ); 5 -> "5" 123 -> "123" value를 base진법으로 변환하여 str에 저장 비표준 함수이기 때문에 MS VS 에서만 가능 표준 호환 대안은 sprintf 일 수 있습니다 ...