반응형 Problem Solving/삼성 SW 역량 테스트 기출40 백준 21610 : 마법사 상어와 비바라기 https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net [ 문제풀이 ] 2021년 상반기 오후 삼성 공채 SW 역량 테스트 문제 중 하나인 마법사 상어와 비바라기 문제이다. 오후 문제도 별다른 알고리즘은 필요 없이 주어진 조건대로 구현만 해주면 간단하게 해결할 수 있는 문제인 것 같다. 삼성 기출문제를 접해봤다면 속력에 mod 연산을 적용하여 빠르게 계산하는 방법은 알 것이다. 또한, 예시 그림을 보면 알겠지만 물복사버그 마법을 시전하여 .. 2021. 8. 6. 백준 21609 : 상어 중학교 https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net [ 문제풀이 ] 2021년 상반기 오전 삼성 공채 SW 역량 테스트 문제 중 하나인 상어 중학교 문제이다. 시험 당시 문제 자체는 어렵지 않았는데 문제를 꼼꼼하게 읽지 않아서 빼먹는 조건이 많아서 시간이 많이 소요됐던 문제이다. 시험 당시 블록 그룹의 기준 블록을 선택하는 조건과 중력에 의해 블록을 떨어뜨리는 작업을 잘못 이해해서 애를 먹었는데 문제를 꼼꼼히 읽는다면 특별한 알고리즘은 요구되.. 2021. 8. 6. 백준 21608 : 상어 초등학교 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net [ 문제풀이 ] 4월 25일 오전에 삼성 공채 SW 역량 테스트를 치르고 왔다. 약 2시간 만에 2문제를 풀었지만 혹시나 예외나 엣지케이스를 처리하지 못한 것이 있을까 걱정됐는데 마침 백준에 비슷하게 복원되어 올라왔기에 확인하려고 풀어봤다. 시험 칠 때 체감 난이도는 상당히 쉬운 편이었는데 백준에서 매긴 난이도를 보니 역시 남들에게도 쉬운 난이도였던 것 같다. N이 최대 20밖에 되.. 2021. 8. 6. 백준 19237 : 어른 상어 https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net [ 문제풀이 ] 삼성 문제들은 대부분 완전 탐색 기반으로 지문에 나오는 조건을 완벽하게 구현한다면 웬만하면 정답을 맞힐 수 있는 형태이다. 이 문제 또한 주어진 지문을 토대로 총 4단계 과정으로 세분화할 수 있다. 상어를 자신의 이동 방향으로 1칸 이동시킨다. 모든 냄새를 감소시킨다. 같은 위치에 상어가 여러 마리가 존재한다면 가장 작은 번호를 가진 상.. 2021. 8. 6. 백준 19238 : 스타트 택시 https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net [ 문제풀이 ] 이번에도 역시 지문 내용을 그대로 구현할 수 있으면 정답을 맞힐 수 있는 문제이다. 주어진 지문을 토대로 총 2단계 과정으로 세분화할 수 있다. 현재 택시 위치에서 가장 가까운 거리에 있는 승객을 찾는다. 현재 탑승한 승객을 목적지까지 데려다준다. 다만, 조심해야 할 부분이 있다. 승객의 출발지는 겹치지 않지만 목적지는 겹칠 수 있다는 것.. 2021. 8. 6. 백준 20056 : 마법사 상어와 파이어볼 https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net [ 문제풀이 ] 주어진 지문을 토대로 총 3단계 과정으로 세분화할 수 있다. 좌표에 여러 개의 파이어볼이 존재할 수 있기 때문에 삭제, 삽입이 빠른 LinkedList를 이용하여 Map을 구현하였다. 1. 모든 파이어볼이 자신의 방향 d로 속력 s 칸만큼 이동시킨다. 이동할 좌표를 구할 때 모듈러 연산을 활용하면 빠르게 구할 수 있다. 양수일 경우 단순히 .. 2021. 8. 6. 백준 20057 : 마법사 상어와 토네이도 https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net [ 문제풀이 ] 이번 문제는 세분화할 필요가 없을 정도로 정말 단순하게 구현만 하면 되는 문제이다. 주어진 조건에 따라 토네이도가 사라질 때까지 이동시키며 모래를 이동시키면 된다. 이번 문제를 좀 쉽게 구현하기 위해 내가 사용한 팁? 을 드리겠다. 1. 격자 밖으로 이동하는 모래를 저장하기 위해 초기 배열을 N이 아닌, 상하좌우 +2한 N+4로 잡은 후 구현하면.. 2021. 8. 6. 백준 20058 : 마법사 상어와 파이어스톰 https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net [ 문제풀이 ] 2차원 배열을 회전하는 법을 알고 있다면 시리즈 3개의 문제 중 가장 쉽게 풀 수 있지 않을까 싶다. 1. A(i, j)의 값을 시계방향으로 90도 회전하려면 A(j, N-i-1)로 하면 된다. 이 문제는 배열 전체를 회전하는 것이 아닌 나눠진 격자의 배열을 각각 따로 회전시키는 것이기 때문에 이 부분만 조심해서 구현하면 된다. 이 문제에서 가장 어렵다고 생각.. 2021. 8. 6. 백준 20055 : 컨베이어 벨트 위의 로봇 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net [ 문제풀이 ] 단순 시뮬레이션 문제이다. 주어진 조건을 순서대로 구현한다면 쉽게 정답을 맞힐 수 있을 것이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { s.. 2021. 8. 6. 이전 1 2 3 4 5 다음 반응형