A형 3

[16주차] 알고리즘 스터디 종료 + 삼성 모의 A+형 통과

약 두 달간 운영했던 알고리즘 스터디를 끝마쳤다. 목표는 '삼성 모의 A형 역량평가' 였다. 공통의 목표를 위해 총 8인이 일주일에 6개의 문제를 풀었다. 나는 문제 풀을 만들기 위해 일주일에 약 30개의 알고리즘 문제들을 풀었다. 덕분에 정말 실력이 많이 늘었다. 모의 A형 시험은 다 끝났다. 더 이상 공통의 목표를 찾기 힘들다고 판단해서 스터디를 종료하게 되었다. 나도 개인적으로 내 알고리즘 취약점(재귀, 분할정복, 스택, 트리)을 보강하고 싶었다. 그리고 너무 무리하다가 건강이 안좋아지기도 했다. 욕심같아서는 어떻게든 조금 더 스터디를 운영해보고 싶었지만 너무 비현실적인 목표라고 생각한다. 8인 규모의 꽤 큰 스터디였다. 매일 구글 폼으로 난이도 조사를 받고, 풀어보고 싶어하는 문제들을 조사한 뒤 ..

21608. 상어 초등학교 - 구현, 시뮬레이션, counter sort, 해시 테이블. 파이썬

사용한 알고리즘/자료구조 델타를 이용한 2차원 배열 탐색 counter sort 해시 테이블(딕셔너리) 접근한 방법 학생의 위치를 정할 때마다 모든 좌표를 순회하며 주위 4 칸의 좌표 정보를 확인하는 브루트포스 알고리즘으로도 정답 처리를 받을 수 있습니다. 하지만 이런 브루트포스 방식은 O(4*(N**2))의 시간 복잡도를 가진, 굉장히 비효율적인 알고리즘입니다. A학생의 자리를 배정한다고 생각해봅시다. A학생이 좋아하는 학생들 중 한 명 이상이 이미 교실에 앉아있다고 하면, 우리는 이 학생이 좋아하는 학생들 근처 자리들만 조회한 후 우선순위를 계산하면 됩니다. 이 연산을 위해 딕셔너리를 활용합니다. 딕셔너리는 두 개를 사용합니다. 각 학생이 좋아하는 학생들의 정보를 담은 딕셔너리 학생 '주변 자리 좌표..

BOJ/구현 2021.10.25

1726. 로봇 - BFS, 구현, 시뮬레이션

사용한 알고리즘 및 자료구조 BFS 큐 델타를 이용한 2차원 좌표 탐색 접근 방식 로봇이 한 턴 내에 할 수 있는 동작은 세 가지다. 1~3칸 전진. 좌로 회전. 우로 회전. 로봇의 상태를 que에서 받은 뒤, 위 세 가지 연산을 전부 처리한다. 로봇의 위치와 로봇이 바라보는 방향 모두를 정확히 기록해야 하기에, 3차원 방문 여부 리스트를 활용했다. 문제 특이사항 일반적으로 2차원 좌표 탐색 문제에서, '방향을 돌리는' 연산은 나머지 연산을 통해 쉽게 구현할 수 있다. (나누기를 활용해 2차원 좌표 탐색에 활용하는 문제 샘플을 곧 업로드 하겠습니다.) 하지만 이 문제는 '동쪽이 1, 서쪽이 2, 남쪽이 3, 북쪽이 4' 라고 명시하고 있다. 따라서 좌표를 입력받을 때 적당히 변형하거나, 회전하는 함수를 ..