구현

    [C++] 백준 17825번 주사위 윷놀이

    [C++] 백준 17825번 주사위 윷놀이

    17825번: 주사위 윷놀이 주사위 윷놀이는 다음과 같은 게임판에서 하는 게임이다. 처음에는 시작 칸에 말 4개가 있다. 말은 게임판에 그려진 화살표의 방향대로만 이동할 수 있다. 말이 파란색 칸에서 이동을 시작하면 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제. 구현 / 시뮬레이션 문제. 어떻게 풀어야 깔끔하게 풀 수 있을 지 모르겠어서 하드 코딩하는 방식으로 해결했다. WA를 많이 받게 됐는데 하드 코딩으로 구현해서 여러 번 고쳐서 맞출 수 있었다. 문제 조건 문제의 조건들은 다음과 같다. 시작 칸의 말이 4개 존재한다. 말이 파란색 칸(10, 20, 30)에서 이동할 경우 파란색 화살표를 따라 이동해야 하고, 이외에는 빨간색 화살표로 이동해야 한다. 말이 도착하면 이동 끝..

    [C++] 백준 19237번 어른 상어

    [C++] 백준 19237번 어른 상어

    19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제. 구현 / 시뮬레이션 문제. 테스트 케이스들이 잘 나와 있어서 테스트 케이스만 맞춰도 맞출 수 있다. 문제 조건 문제의 조건들은 다음과 같다. 상어의 정보 상어는 1 ~ M 번호를 가지고 있고, 중복되지 않는다. 상어들은 서로 내쫓으려고 하는데, 숫자가 낮을 수록 강한 상어이다. 격자 정보 N x N 크기의 격자에, M마리의 상어가 한마리씩 존재. 각 칸에 상어의 냄새가 존재..

    [C++] 백준 17837번 새로운 게임 2

    [C++] 백준 17837번 새로운 게임 2

    17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제. 구현 / 시뮬레이션 문제로, 초반에 설계를 잘 하고 들어가면 쉽게 풀 수 있는 문제. 정답률이 46퍼인 만큼, 테스트 케이스만 맞추면 거의 맞출 수 있는 것 같다. 문제 풀이 문제의 조건은 다음과 같이 정리할 수 있다. N * N 체스판에 말이 K개 존재한다. 말은 초반 입력에는 겹치지 않지만, 겹칠 수 있다. 체스판의 각 칸은 흰색(0), 빨간색(1), 파란색(2)일 수 있다. 각 말은 1~K번이며 각 말마다 이..

    [C++] 백준 19236번 청소년 상어

    [C++] 백준 19236번 청소년 상어

    19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제. 테스트 케이스가 잘 주어져 있어서 테스트 케이스만 잘 맞춘다면 대체로 맞는 것 같다. 구현 / 시뮬레이션 문제. 문제 조건 문제의 조건을 다음과 같이 정리할 수 있다. 4 * 4 공간이 존재하고, 1 * 1 크기인 한 칸마다 (x, y)에 물고기가 한 마리 존재한다. 각 물고기는 번호와 방향이 존재하고, 번호는 1 ~ 16 / 방향은 1부터 8까지이며 상하좌우 + 대각선이다. 문제는 상어와 물고기의 ..

    [C++] 백준 19238번 스타트 택시

    [C++] 백준 19238번 스타트 택시

    19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제. 구현 + 시뮬레이션 + 그래프 탐색 알고리즘으로 풀 수 있다. 문제 해석 택시의 조건은 다음과 같다. 목적지에 도착 시, 연료가 충전된다. 연료가 바닥날 경우 업무가 끝난다. 택시는 빈 칸의 상, 하, 좌, 우로 이동하며 특정 위치에 최단 경로로만 이동한다. 연료는 이동 한 칸마다 1이 소모된다. 다른 조건들은 다음과 같다. M명의 승객을 태우는 것을 목표로 한다. 활동 영역은 ..

    [C++] 백준 12100번 2048 (Easy)

    [C++] 백준 12100번 2048 (Easy)

    12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제. 상, 하, 좌, 우를 잘 움직일 수 있다면 풀 수 있는 문제. 문제 조건 문제 조건은 생각보다 간단하다. 보드의 모든 블럭들을 상, 하, 좌, 우로 이동. (보드를 눕히는 형태로 이동.) 이 때, 같은 숫자의 블럭은 합쳐지는데, 한 번의 이동마다 한 번만 합쳐진다. 보드 크기 n * n에서, 최대 5번 이동 후 만들 수 있는 가장 큰 블록의 값을 찾으면 된다. 보드 움직이는 조건 상, 우,..

    [C++] 백준 13460번 구슬 탈출 2

    [C++] 백준 13460번 구슬 탈출 2

    13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제. 구현 / 시뮬레이션 문제로, 설계를 잘하고 구현을 해야 풀 수 있는 문제. 문제 분석 문제의 조건은 다음과 같다. N*M 보드가 있고, 보드에는 구멍이 하나 있다. 빨간 구슬과 파란 구슬이 있다. 빨간 구슬을 구멍으로 빼야 한다. 파란 구슬은 구멍으로 빠지면 안된다. 구슬은 직접 움직일 수 없고 보드를 상, 하, 좌, 우로 기울여서 움직여야 한다. -> 이 때, 두 개..

    [C++] 백준 5430번 AC

    [C++] 백준 5430번 AC

    5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문자열 파싱, 자료구조를 이용해서 풀 수 있는 문제. 디테일에서 놓친 부분들이 많아서 틀렸습니다를 많이 받았다. 문제풀이 조건을 다음과 같이 해석해서 풀었다. '덱'을 사용해서 풀고, 현재 방향이 front인지 back인지를 저장한다. 시작의 경우 방향은 front가 된다. 'R' 명령어가 들어왔을 경우 : front / back 방향을 반대로 전환한다. 'D' 명령어가 들어왔을 경우 : 현재 덱에서 방향에 있는 수를 하나 pop한다. 이 때 덱이 비어있으면 error가 발생하도록 한다. 코드 전문 /* * 백준 54..

    [C++] 백준 23290번 마법사 상어와 복제

    [C++] 백준 23290번 마법사 상어와 복제

    https://www.acmicpc.net/problem/23290 23290번: 마법사 상어와 복제 첫째 줄에 물고기의 수 M, 상어가 마법을 연습한 횟수 S가 주어진다. 둘째 줄부터 M개의 줄에는 물고기의 정보 fx, fy, d가 주어진다. (fx, fy)는 물고기의 위치를 의미하고, d는 방향을 의미한다. 방향 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제 고려해야 할 부분들이 상당히 많은 문제이지만, 특별한 알고리즘은 필요가 없다. 문제 조건 정리 기본 조건 4x4 격자 r행 c열을 (r, c)로 표현 물고기 M마리가 주어지고, 이동 방향(8가지)을 가진다. 상어도 격자 한 칸에 위치한다. 최초에는 둘 이상의 물고기가 같은 칸에 있을 수 있고, 상어와 물고기가 같은 칸에..

    [C++] 백준 16235번 나무 재테크

    [C++] 백준 16235번 나무 재테크

    16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 소속 문제. 구현 / 시뮬레이션 문제 중 골드4지만 꽤 낮은 정답률인 문제이다. 아마 나 포함 대부분 시간 초과 문제가 발생하는 것 같다. 문제 조건 문제의 힌트는 다음과 같다. 땅의 크기가 N x N이다. (r, c)은 r은 행, c는 열을 의미. S2D2라는 로봇은 양분을 추가해줌. 맨 처음 5만큼의 양분이 각 칸에 존재 또한 다음과 같은 순서로 진행된다. 처음에 주어진 조건 M개의 나무를 구매한다. 여러 개 ..