본문 바로가기
반응형

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.
반응형