삼성 4

[백준] 16326. 아기 상어

https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net bfs 구현 문제로, 이 문제를 풀 때 주의해야할 점이 몇 가지 있다. 1. 아기 상어의 위치를 나타내주는 9를, 아기상어를 찾은 즉시 0(빈칸)으로 바꿔주어야 한다. 그렇지 않으면 9 크기의 물고기가 있다고 인식해버린다. 2. 먹을 수 있는 물고기를 저장하는 리스트를 따로 만들어서 거리가 같은 모든 물고기를 넣어야 하며, 물고기가 위치한 거리보다 먼 곳은 탐색하지 않도록 조건을 제대로 주..

알고리즘 2021.10.20

[백준] 16235. 나무 재테크

https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net pypy3로 돌렸다. 문제만 이해하면 어렵지 않은 문제다. 그냥 시키는 대로 구현하면 된다. 나는 봄, 여름, 가을, 겨울 모두 함수를 만들어 주었다. 기본 밭 리스트, 살아 있는 나무 리스트, 겨울마다 추가될 양분 리스트, 죽은 나무 리스트를 각각 다 만들어 주었다. 이렇게 안 만들어도 될 것 같은데 생각나는 게 이거밖에 없어서.. 나중에 효율적으로 다시 풀어보긴 해야할 것 같다..

알고리즘 2021.10.07

[백준] 21609. 상어 중학교

https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 삼성 2021 상반기 문제다.. bfs를 이용해서 빡구현하는 문제다. 그냥 시키는 대로 구현하면 된다. 뭐 설명할 것도 없는 문제.. 중력 구현이 너무 헷갈렸다. 중력 관련 문제를 더 풀어야겠다는 생각이 든다. find_big_block 과 count_block를 합치고, delete를 줄일 수 있을 듯 한데.. 귀찮다.. 중간에 find_bing_block 에서 변수 이름하나 잘못 적어서 계..

알고리즘 2021.10.05

[백준] 21608. 상어 초등학교

21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 삼성전자 2021 상반기 문제이다. input data를 리스트로 한 번에 받아 준 뒤, for 문으로 리스트를 순회하며 {학생:(좋아하는 친구)} 형식으로 dictionary에 저장하고 find_desk() 함수를 돌아가며 자리를 정해줬다. dictionary에 자료를 저장한 이유는 뒤에 만족도 조사 시에 편리하게 확인하기 위해서 이다. find_desk() 함수는 완전 탐색으로 모든 곳을 확인하며, 비어있는 책상에서 delta 변수로 상하좌우를 확인..

알고리즘 2021.10.05