본문 바로가기
728x90

알고리즘141

[PG/Python] 캐시 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/17680 2022. 3. 3.
[BOJ/Python] 13460.구슬 탈출 2 📌 문제 https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 📌 문제 접근 방법 입력 값을 모두 받아준 뒤, 빨간 공과 파란 공의 좌표를 찾아줬다. answer는 10을 넘어가면 -1을 리턴하므로 11로 초기화해준뒤, answer가 갱신되지 않고 그대로 11로 남아있으면 -1을 출력하도록 해줬다. move 함수는 (공의 행좌표, 열좌표, 행방향, 열방향)을 매개변수로 가진다. 한 번의 이동이 아닌,.. 2022. 3. 2.
[BOJ/Python] 21608.상어 초등학교 📌 문제 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 📌 문제 접근 방법 students라는 딕셔너리를 만들어서 학생의 번호를 key, 좋아하는 학생 번호 리스트를 value로 저장했다. room과 like_cnt라는 리스트를 만들어서 각각 학생들의 자리배치와 인접한 칸에 있는 좋아하는 학생 수를 저장했다. students 딕셔너리를 순회하며 room에 비어있는 자리를 모두 체크하였다. 델타 행렬을 사용하여 비어있는 자리와 인접한.. 2022. 2. 27.
[BOJ/Python] 20055.컨베이어 벨트 위의 로봇 📌 문제 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 📌 문제 접근 방법 문제에서 제시한 방법대로 구현을 하는 거라 어렵진 않았는데, 문제가 헷갈리게 써있었다..😥 우선 컨베이어 벨트 위에 맨 처음에는 로봇이 하나도 올려져있지 않은 상태이고, 1에서 4까지 모두 수행한 사이클이 1단계임을 숙지하고 구현해보자! 테스트 케이스 3번과 4번에서 자꾸 틀렸었는데, 질문 게시판을 보니 '가장 먼저 벨트에 올라간 로봇부터' 라는 .. 2022. 2. 27.
728x90