- Today
- Yesterday
- Total
목록Algorithm (174)
메이쁘
https://www.acmicpc.net/problem/11586 11586번: 지영 공주님의 마법 거울 천나라 민호성의 지영 공주님은 매우 아름답다. 공주님 자신도 이 세상 그 누구보다 자신이 아름답다는 것을 알고 있다. 공주님은 자신의 아름다움이 세월의 저편으로 사라지는 것을 매우 두려� www.acmicpc.net 엄청 쉬운 문제라 별다른 매커니즘을 적지 않겠다. 이 문제에서 하나 배운 것은 바로 sb.append(new StringBuffer(String).reverse().toString()); 이 코딩 한 줄이다. StringBuffer 클래스의 함수 중 하나인 reverse() 를 사용하여 해당 문자열을 뒤집어서(=거꾸로) 출력할 수 있다는 것이다. StringBuffer 클래스 선언 시 ..
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 시뮬레이션 + DFS 문제이다. 짚고 넘어갈 부분은 1. 무조건 바이러스는 시간 상관없이 퍼진다. -> 따라서, 다 퍼지고 퍼질 곳이 없을 때 바이러스 확산 함수를 종료한다. 2. 벽은 정확히 3개를 추가한다. 더 많이 또는 더 적게 추가할 수 없다. 3. 벽은 '0' 위치(= 빈 땅) 에만 추가할 수 있다. '1' 또는 '2' 에는 추가할 수 없다. 4. 바이러스가 더이상 퍼지지 않을 때 안전한 구역의 개..
https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하� www.acmicpc.net 삼성 기출 문제이다. 구현하기 위해 필기해둔 노트를 잃어버려 간단하게만 작성하겠다. 자세한 사항들은 소스코드 내 주석으로 달아놨기 때문에 주석을 참고하면 좋을듯 하다. 체스판 색깔 별 조건을 만족시키기 위해 Deque를 사용했다. *** Deque에 대한 내용은 하단 게시글을 참고하시길 바란다. https://maivve.tistory.com/103 (JAVA) 백준 16235번 : 나무 재..
https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀있고, i번째 원판에 적힌 j번째 수의 위치는 (i, j)로 표현한다. 수의 위치는 다음을 만족한다. (i, 1)은 (i, 2), (i, M)과 인접하다. (i, M)은 (i, M-1), (i, 1)과 인접하다. (i, j)는 (i, j-1), (i, j www.acmicpc.net 시뮬레이션 + DFS 문제. 삼성 기출 SW 문제집 문제 중 하나. 아래 질문에 대해 해결 방법을 찾아 구현하면 쉬운 문제이다. ..
https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼 www.acmicpc.net 삼성 SW 기출 문제집 문제 중 하나로 시뮬레이션 문제. 문제에 주어진 조건에 맞게 알고리즘을 구현하면 된다. 주의 깊게 볼 ..
https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커브의 시작 점, d는 시작 방향, g는 세대이다. (0 ≤ x, y ≤ 100, 0 ≤ d ≤ 3, 0 ≤ g ≤ 10) 입력으로 주어지는 드래곤 커브는 격자 밖으로 벗어나지 않는다. 드래곤 커브는 서로 겹칠 수 있다. 방향은 0, 1, 2, www.acmicpc.net 시뮬레이션 문제. 삼성 SW 기출 문제이다. 규칙만 찾으면 쉬운 문제다. 규칙은 같으나 이를 구현하는 알고리즘은 다양한데, 내 방법..
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다. 국경선을 공유하는 두 나라의 인구 차이가 L명 www.acmicpc.net 삼성 SW 기출 문제. DFS 사용. 처음에 ArrayList를 사용했는데 메모리와 시간이 기하급수적으로 증가해서 DFS 특성을 고려..
https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net 삼성 SW 기출 문제 중 하나이다. BFS 방식을 사용했다. 문제에서 가장 헷갈리는 문장이 있는데 아기 상어의 이동 방법이다. 먼저..
https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순서대로 계산해야 한다. 예를 들어, 3+8×7-9×2의 결과는 136이다. 수식에 괄호를 추가하면, 괄호 안에 들어있는 식은 먼저 계산해야 한다. 단, 괄호 안에는 연산자가 하나만 들어 있어야 한다. 예를 들어, 3+8×7-9×2에 괄호를 3+(8×7)-(9× www.acmicpc.net 백트래킹을 사용했다. 핵심은 - 백트래킹을 통해 괄호를 만들 연산자를 선택한다. - 이 때, 괄호 내 연산자는 한 개만 존재하므..
https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 떨어진 칸의 개수, c는 가장 왼쪽으로부터 떨어진 칸의 개수이다. r과 c는 1부터 시작한다. 상도는 전자통신공학과 출신답게 땅의 양분을 조사하는 로봇 S2D2를 만들었다. S2D2는 1×1 크기의 칸에 들어있는 양분을 조사해 상도에게 전송하고, 모든 www.acmicpc.net 삼성 SW A형 코딩테스트 기출 문제 중 하나이다. 시뮬레이션이고 요구 조건에 대해 알고리즘을 작성하면 되지만 제한 시간 제한 시간..