본문 바로가기

Computer Science/Algorithm119

[백준] 3190 - 뱀 (Python) 문제 출처 : https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제 풀이 : 문제 자체가 그냥 시뮬레이션 문제이다. 특히나 이런류의 문제는 GUI까지 구현해서 게임을 만드는 프로젝트 등으로 학교에서 많이 했을꺼라고 생각한다. 시키는대로 구현하면 되는데 신경썻던 부분이 두 개 정도 있었던 것 같다. 뱀을 어떤 자료구조에 넣어서 관리 할 것인가? --> 앞뒤로 빼기 쉬워야 한다고 생각해서(자료를) Deque 구조를 사용했다. 문제를 보면 사과가 있는 칸과.. 2021. 7. 3.
[백준] 21609 - 상어 중학교 (Python) 문제 출처 : www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 문제 풀이 : 삼성전자 2021 상반기 오전 2번 문제이다. 1번 문제와는 난이도 차이가 있다고 생각한다. 이 문제 또한 BFS,DFS를 섞은 구현문제이다. 하지만 21608 상어 초등학교보다 조건이 더 까다롭다. 문제를 보고 구현해야 하는 부분을 먼저 생각해보았다. 오토 플레이 시작과 끝 -> while 문을 통해 블록 그룹이 더 이상 없을 때까지 진행한다. 가장 큰 블록 그룹 찾기 -> D.. 2021. 5. 10.
[백준] 21608 - 상어 초등학교 (Python) 문제 출처 : www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 문제 풀이 : 삼성전자 2021년도 상반기 오전 문제중 첫번째 문제이다. 삼성전자의 기출문제를 보았다면 대부분 BFS,DFS + 구현 문제로 이루어져 있는 것을 알 수 있다. 때문에 보통 필자는 삼성전자의 문제를 풀땐 어떤 부분들을 구현해야하는지 나누는걸 첫번째로 한다. 요즘 추세로는 구현해야하는 것들을 문제에서 친절하게 주어주는 경우도 많다. 때문에 문제를 잘 읽어보는 것이 굉장히 중.. 2021. 5. 10.
[백준] 2110 - 공유기 설치 (Python) 문제 출처: www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 문제 풀이 : 앞서 본 이분탐색과 같은 문제이다. 이런 문제류에서 바뀌는 부분은 찾는 특정값을 비교할때 사용되는 결과값을 구하는 부분인데 여기서는 아마 gap을 구하는 부분만 신경 써주면 될 것이다. 보통 for문으로 구하니까 복잡하지 않은 이분탐색 문제에선 while문 안에 있는 for문을 신경써서 보면 문제가 쉽게 이해가 된다. n, c = m.. 2021. 4. 9.
반응형