삼성기출11 [BOJ] 21609. 상어 중학교(Python) / Simulation 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 2021 상반기 삼성 SW역량테스트 기출문제이다. 이번에 출제된 4문제 중 내 기준 가장 까다롭고 시간이 많이 든 문제였다.. BFS의 효율을 높이기 위한 전략이 필요했다. 완전 구현 문제로 고도의 집중력을 발휘해야 한다. 특별히 사용한 알고리즘은 가장 큰 그룹 찾을 때와 이를 지울 때의 BFS 정도이고, 완전 구현 문제이다. 사용 알고리즘 : Simultaion (+ BFS) 사용 자료구조 : Max Heap(최대 힙) 1번 조건 - "크기가 가장 큰 블록 .. 2021. 5. 4. [BOJ] 21611. 마법사 상어와 블리자드(Python) / Simulation 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net # 2시간 30분 소요 사용 알고리즘 : 없음. 완전 구현(Simulation) 설명은 아래 주석으로 달아놓았다. 구슬 파괴 > 구슬 이동 > 이동 함수 안에서 구슬 폭발 > 구슬 변화 > 구슬 재배치 순으로 함수를 구성했다. 구슬 폭발 함수 explodeMarbles() 와 구슬 변화 함수 changeMarbles()는 복붙으로 만들어 매우 유사한 기능을 하고, 구슬 이동 함수 moveMarbles() 와 구슬 재배치 함수 drawMarbles.. 2021. 5. 4. [BOJ] 21608. 상어 초등학교(Python) / Simulation 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 2021 상반기 삼성전자 기출문제로, 실버 1로 책정된 쉬운 문제다. 요즘 추세는 특정 알고리즘 사용 없이 빡구현! 인가 보다. 사용 알고리즘 : Hash(딕셔너리), Heap(최대 힙) 크게 설명할 것 없이 문제에 주어진 3개의 조건을 우선순위 큐로 사용한 최대 힙으로 구현했다. heap을 최대힙으로 사용하려면 push할 때 원소에 '-'를 붙여서 push하면 된다! heappop(hq)하면 우선순위가 가장 높은 원소가 나온다! 또 하나, 내가 저지른.. 2021. 4. 30. [BOJ] 21610. 마법사 상어와 비바라기(Python) / Simulation 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net # 2021 상반기 삼성전자 코딩테스트 기출 문제다. 백준에 복원문제가 업로드되어 풀어봤다. # 요새 삼성 SW역량테스트 추세가 완전 쌩 구현인 듯 싶다. # 1시간 41분 소요,, 쉬운 시뮬레이션 문젠데 너무 오래 걸렸다. 사용 알고리즘 : 특별한 알고리즘은 없다. 주어진 대로 그대로 구현하면 됨! 아래 주석으로 꼼꼼하게 설명해놓았다! 파이썬 코드는 다음과 같다. from sys import stdin input = stdin.readline # 8방향 .. 2021. 4. 30. [BOJ] 17135. 캐슬 디펜스(Python) / DFS + BFS 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net # 1h 58m 소요 사용 알고리즘 : DFS + BFS / 자료구조 : 큐, 최소 힙(우선순위 큐) 오랜만에 이렇게 온갖 알고리즘이 섞인 문제를 풀었다. 장장 2시간여의 긴 여정이었다. 두 번째 푸는 문제라 나름 자신했지만, 처음에 코드 설계하고 다 풀고 디버깅하느라 시간이 좀 걸려서 아쉬웠다.. 한 번에 고려했어야 하는데! 일단 아래 코드는 죽일 적을 최소 힙 큐에 담으면서 가장 높은 우선순위의 적을 뽑아 사용하도록 했다. 시간, 메모리 면에서 매우 오래걸리는 코드라 또.. 2021. 4. 8. [SWEA] 2105. 디저트 카페(Python) / Brute Force SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 1시간 32분 소요 사용 알고리즘 : Brute Force + Simulation 모든 경우의 수에 대해 다 검사해야 하는 완전탐색 문제이다. 마름모를 그릴 때 시작점이 되는 점은 행은 0부터 N-3까지, 열은 1부터 N-2까지의 영역 안에 들어야 한다. makeDistance(sr, sc) 함수에서 시작점의 위치 행, 열 좌표를 인자로 넣으면 시작점에서 대각선 사각형을 이루는 왼쪽, 오른쪽의 대각선 한 변이 될 수 있는 각각의 길이를 이중 포문으로 구한다. 이 때, 시작점의 반대편에 있는 꼭지점의 행 위치가 맵을 넘어가면 안 되므로, 그 경우는 if sr+l.. 2021. 3. 30. 이전 1 2 다음