알고리즘/삼성 역량 문제
-
[JAVA] 백준 21610 마법사 상어와 비바라기알고리즘/삼성 역량 문제 2023. 3. 12. 17:01
1. 문제 링크 https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 2. 문제 요약 # 초기 비구름 생성: (N, 1), (N, 2), (N-1, 1), (N-1, 2) 명령대로 아래 순서 진행 1. 모든 구름이 di 방향으로 si칸 이동한다. 2. 각 구름에서 비가 내려 구름이 있는 칸의 바구니에 저장된 물의 양이 1 증가한다. 3. 구름이 모두 사라진다. 4. 마법 시전 - 2번에서 구름이 존재한 곳에서 대작선 거리 1인 칸에 있는 수만..
-
[Python] 백준 20055 컨베이어 벨트 위의 로봇알고리즘/삼성 역량 문제 2022. 3. 7. 15:04
1. 문제 링크 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 2. 문제 요약 1. 벨트가 각 칸 위에 있는 로봇과 함께 한 칸 회전한다. 2. 가장 먼저 벨트에 올라간 로봇부터, 벨트가 회전하는 방향으로 한 칸 이동할 수 있다면 이동한다. 만약 이동할 수 없다면 가만히 있는다. - 로봇이 이동하기 위해서는 이동하려는 칸에 로봇이 없으며, 그 칸의 내구도가 1 이상 남아 있어야 한다. 3. 올리는 위치에 있는 칸의 내구도..
-
[Python] 백준 14890 경사로알고리즘/삼성 역량 문제 2022. 1. 16. 12:26
1. 문제 링크 https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 2. 문제 요약 총 2n개의 길이 존재할 때, 지나갈 수 있는 길의 개수를 출력한다. 낮은 칸과 높은 칸의 차이는 1이고, 낮은 칸에 경사로를 L길이만큼 설치해야 한다. 3. 아이디어 정리 한 줄 씩 확인해야하기 때문에 한줄 기준으로 지나갈 수 있는 길인지 확인하는 함수를 작성한다. 지나갈 수 있는지 확인하는 함수는 아래 로직을 따른다. 이전 칸과 현재 칸이 1칸 높이 이상이면 False 현재 높이 < ..
-
[Python] 백준 23290 마법사 상어와 복제알고리즘/삼성 역량 문제 2022. 1. 8. 22:40
1. 문제 링크 https://www.acmicpc.net/problem/23290 23290번: 마법사 상어와 복제 첫째 줄에 물고기의 수 M, 상어가 마법을 연습한 횟수 S가 주어진다. 둘째 줄부터 M개의 줄에는 물고기의 정보 fx, fy, d가 주어진다. (fx, fy)는 물고기의 위치를 의미하고, d는 방향을 의미한다. 방향 www.acmicpc.net 2. 문제 요약 1. 모든 물고기 복제 2. 물고기 이동 상어가 있는 칸, 물고기 냄새 칸, 벗어나는 칸 x 45도 반시계 회전 후 이동. 이동 못하는 경우 그대로 3. 상어 이동 제외되는 물고기 수가 많고 > 이동 방법 사전 순 이동하게 됨 상어가 이동한 곳은 물고기가 있으면 물고기 냄새가 생김 4. 2번 전 물고기 냄새 사라짐 5. 복제 마법 ..
-
[Python] 백준 14888 연산자 끼워넣기알고리즘/삼성 역량 문제 2021. 12. 15. 17:18
1. 문제 링크 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 2. 문제 요약 N개의 수와 N-1개의 연산자가 주어졌을 때, 만들 수 있는 식의 결과가 최대인 것과 최소인 것 구하기 3. 아이디어 정리 백트래킹으로 진행 Base condition(종료 조건): 모든 연산자를 넣은 경우 재귀: 사칙연산을 4개를 돌려 계산을 하고 백트래킹 진행 4. 문제 풀이 4-1. 내 풀이 """ 1. ..
-
[Python] 백준 15683 감시알고리즘/삼성 역량 문제 2021. 12. 4. 23:29
1. 문제 링크 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 2. 문제 요약 사각지대의 최소 크기를 출력 3. 아이디어 정리 각 cctv 모든 경우의 수 구하기 ⇒ 각 경우 별 감시 가능한 좌표를 모두 구한다. 백트래킹으로 모든 경우의 조합을 탐색한다. 최댓값인 경우 갱신한다. 4. 문제 풀이 4-1. 내풀이 def watch(x, y, dir): """ 해당 방향으로 보기 :return: """ set_ = set() for d..