문제 링크입니다. https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 풀이 방법 재귀함수를 이용하여 문제를 해결합니다. 이 문제는 팀 나누기, 각 팀의 능력치 구하기 두 기능을 수행해야 합니다. 이를 위해 solve, calculateTA 함수를 만들어 각 기능을 구현했습니다. solve 함수에서는 특정 사람(idx)이 스타트팀인지 아닌지를 기준으로, 재귀함수를 실행합니다. idx가 스타트팀일 때는 스타트팀원의 수를 뜻하는 startTeamNum을 하나 증가시켜 재귀함..
문제 링크입니다. https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음 www.acmicpc.net 풀이 방법 주어진 조건을 그대로 구현하는 시뮬레이션 문제입니다. 로봇청소기가 청소한 영역과 청소하지 않은 영역을..
문제 링크입니다. https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. www.acmicpc.net 풀이 방법 dfs 알고리즘을 사용합니다. dfs 알고리즘에 대한 설명은 아래 링크를 참고해주세요. 2019/09/19 -..
문제 링크입니다. https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 풀이방법 다이나믹 프로그래밍 기법을 사용해 문제를 해결합니다. DP 문제를 풀 때에는 점화식을 세우는 게 중요합니다. 이 문제의 점화식은 solve 함수의 for loop에 해당합니다. 수익이 상담이 마쳐진 다음날 들어온다고 가정했을 때, dp[i]은 i번째 날에 가질 수 있는 최대 금액입니다. 각 loop은 먼저 i번째 날에 일을 했을 경우를 계산합니다. i번째 날에 일을 했을 경우엔 i + t[i] 날에 수익이 들어옵니다. 따라서 dp[i + t[i]]을 새롭게 계산해줍니다. 그리고 다음 loop으로 넘어가기 전..
문제 링크입니다. https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누 www.acmicpc.net 풀이 방법 브루트포스 알고리즘을 사용합니다. 테트로미노는 5개의 모양를 가지지만 상하좌우 방향을 달리함에 따라 1..
문제 링크입니다. https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도에 쓰여 있는 수가 북쪽부터 남쪽으로, 각 줄은 서쪽부터 동쪽 순서대로 주어진다. 주사위를 놓은 칸에 쓰여 있는 수는 항상 0이다. 지도의 각 칸에 쓰여 있는 수는 10을 넘지 않는 자연수 또는 0이다. 마 www.acmicpc.net 풀이 방법 주어진 조건을 그대로 구현하는 시뮬레이션 문제입니다. 주어진 명령들에 따라서 지도 위에 있는 주사위..
문제 링크입니다. https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 풀이 방법 주어진 조건을 그대로 구현하는 시뮬레이션 문제입니다. 각 시험장에 필요한 감독관 수를 ans 변수에 더하여, 전체 시험장에 필요한 최소 감독관 수를 출력합니다. for loop을 통해 각 시험장에 필요한 감독관 수를 계산합니다. 총감독관과 부감독관을 나눠서 계산합니다. 총감독관은 시험장마다 무조건 한 명씩 필요합..
문제 링크입니다. https://www.acmicpc.net/status?user_id=zzlhye0307&problem_id=3190&from_mine=1 채점 현황 www.acmicpc.net 풀이방법 주어진 조건을 그대로 구현하는 시뮬레이션 문제입니다. 뱀의 좌표를 queue에 저장하는 것이 핵심입니다. 1초가 지날 때 마다, 뱀의 머리가 이동할 좌표를 queue에 push하고 사과의 여부에 따라 뱀의 꼬리 좌표를 queue에서 pop할지 결정합니다. 뱀의 머리를 이동하기 전에, 이동할 좌표가 1) 벽을 넘어가는지 2) 뱀의 몸이 속한 좌표와 일치하는지 여부를 확인해서 게임이 몇 초 안에 끝나는지 출력합니다. 풀이 // // main.cpp // 3190 // // Created by Jihye o..
문제 링크입니다. https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다. www.acmicpc.net 풀이방법 최대 5번 이동시켰을 때의 최댓값을 구하는 문제이므로 dfs 알고리즘을 사용하여 해결합니다. 이 알고리즘에 대한 설명은 아래 링크를 참고해주세요. https://dvpzeekke.tistory.com/37?category=887119 [c++] DFS(..
문제 링크입니다. https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' 로 이루어져 있다. '.'은 빈 칸을 의미하고, '#'은 공이 이동할 수 없는 장애물 또는 벽을 의미하며, 'O'는 구멍의 위치를 의미한다. 'R'은 빨간 구슬의 위치, 'B'는 파란 구슬의 위치이다. 입력되는 모든 보드 www.acmicpc.net 풀이 방법 가장 적은 횟수로 보드를 기울인 경우를 찾는 문제이기 때문에 bfs 알고리즘을 사용하여 해결합니다...
- Total
- Today
- Yesterday
- Swift
- 프로그래머스
- Xcode
- 컬렉션
- dfs
- 서머코딩
- isempty
- 깊이우선탐색
- aws
- algorithm
- 이진트리
- BFS
- 알고리즘
- Collection
- ios
- 자료구조
- Programmers
- c++
- 호제법
- 삼성역량테스트
- 스위프트
- ec2
- 시뮬레이션
- 코딩테스트
- 구슬탈출
- datastructure
- count
- SummerCoding
- 백준
- dp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |