Algorithm 36

[BOJ] - 14501. 퇴사

[URL] https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net [풀이 과정] 1. 조건에 맞게 기본 DFS 시전 2. sum += PAY[pos]; 3. pos: 1~ N까지 다 검사 후 sum 중 최대값 출력 [소스 코드]123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354// 4. 퇴사// https://www.acmicpc.net/problem/14501 #include #include using namespace std; int N;int Time[16]..

Algorithm/백준 2019.08.21

[BOJ] - 2468. 안전 영역

[URL] https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. 어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형태로 주어 www.acmicpc.net [풀이 과정] 1. 입력 2. 가능한 경우 (물의 높이: 1 ~ 지면의 최대 높이까지만!) 3. 맵 복사 4. 물 퍼트리기 ..

Algorithm/백준 2019.08.20

[BOJ] - 17281. 야구

[URL] https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종료되고, 두 팀이 공격과 수비를 서로 바꾼다. 두 팀은 경기가 시작하기 전까지 타순(타자가 타석에 서는 순서)을 정해야 하고, 경기 중에는 타순을 변경할 수 없다. 9번 타자까지 공을 쳤는데 3아웃이 발생하지 않은 상태면 이닝은 끝나지 않고, 1번 타자가 다시 타석에 www.acmicpc.net [풀이 과정] * 순열(완전 탐색) + 시뮬레이션 1. 가능한 모든 후보 탐색 4번째 타순은 1번 타자로 고정 따라서, 전체 경우..

Algorithm/백준 2019.08.13

[BOJ] - 3190. 뱀

[URL] https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따 www.acmicpc.net [풀이 과정] * 시뮬레이션 뱀의 머리랑 꼬리에만 신경 쓰자 뱀의 전체는 check[][]배열에 넣어주자. : 이동 가능한지 판단 1..

Algorithm/백준 2019.08.05

5215. 햄버거 다이어트

[URL] https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWT-lPB6dHUDFAVT&categoryId=AWT-lPB6dHUDFAVT&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이 과정] * 재귀DFS 2진탐색 (깊이 N까지) [소스 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ..

Algorithm/SWEA 2019.08.02

5653. [모의 SW 역량테스트] 줄기세포배양

[URL] https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRJ8EKe48DFAUo& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이 과정] * 시뮬레이션 각 testcase에서 초기화, 입력, 각 시간(K)마다 계산, sum계산 (입력) map[][]입력받는 과정에서 구조체형태로 벡터에 저장 여기서 이후에 방문했는지 확인하기 위해 check[][] = true; (각 시간(K)마다 계산) 벡터의 크기만큼 검사 벡터의 상태 체크: 1) 비활성상태 경우 2)활성상태 경우 3) 죽은 경우 벡터.val..

Algorithm/SWEA 2019.08.01

[BOJ] - 17143. 낚시왕

[URL] https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. 칸에는 상어가 최대 한 마리 들어있을 수 있다. 상어는 크기와 속도를 가지고 있다. 낚시왕은 가장 처음에 1번 열의 한 칸 왼쪽에 있다. 다음은 1초 동안 일어나는 일이며, 아래 적힌 순서대로 일어난다. 낚시왕은 가장 오른쪽 열의 오른쪽 칸에 www.acmicpc.net [풀이 과정] 시뮬레이션 문제 input()을 통하여 입력받고 입력받은 값을 벡터에 저장 이 후 king(낚시왕)은 총 C번 ..

Algorithm/백준 2019.07.31

5644. [모의 SW 역량테스트] 무선 충전

[URL] https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이 과정] 시뮬레이션 중복 순열 (user가 2명 뿐이라 2중 for문으로 구현) 1. 초기화 2. 입력 3. 각 BC (Battery Charger)의 범위이면 map[i][j]++; 이유: 각 uesr의 가능한 bc의 개수를 찾기위함 또한, 각 BC영역을 vector bcArea[]에 (x,y)형태로 저장하였다. 이유: 중복 순열 시 최대값을 계산하기 위함 4. 출발..

Algorithm/SWEA 2019.07.30

17140. - 이차원 배열과 연산

[URL] https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net [풀이 과정] * 시뮬레이션 1. 1. input(); a[][]입력받는다. 최초 사이즈 3x3, Rsize = 3, Csize =3; 2. 시간 계산 while문 조건: a[r-1][c-1] ==k인가? 맞으면 시간(time) 리턴, 틀리면 계산 시작 3. 계산 우선Rsize Csize비교 3-1. r연산 각 행 1) calc[] 0으로 초기화 2) 열의 크기만큼 for문..

Algorithm/백준 2019.07.16

5658. [모의 SW 역량테스트] 보물상자 비밀번호

[URL] https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이 과정] * 시뮬레이션 (예시) (1, B, 3, B, 3, B, 8, 1, F, 7, 5, E) 12개의 숫자가 주어지고 K가 10인 경우 1. input & init 2. 한 변의 자리수 계산, 자릿수만큼 로테이션 3. input[] 배열을 자리수 길이만큼 끊어서 계산 4. 자리수에 해당 하는 temp[] 배열에 값 저장 ex) 3자리씩 1B3, B3B, 81F, ..

Algorithm/SWEA 2019.07.11