본문 바로가기

알고리즘/구현2

백준 - 23294 웹 브라우저 1 with Python 주저리 주저리 문제 자체는 어렵지 않다. 다만 만약 deque를 생각 못 한다면 난이도가 올라갈지도...? 문제 해결 문제 자체는 일반적인 스택구조로 생각해서 작성하면 되나, 뒤로가기가 맨 앞, 맨 뒤에서 다 빼야하는 케이스가 나온다. 뭘 걱정하리 우리 한테는 deque라는 갓갓이 존재한다. deque를 믿고 작성해보자 코드 import sys from collections import deque input = sys.stdin.readline ''' 뒤로가기 한개 이상 뒤로가기 공간에 있을시 현재는 앞으로 가기에저장 방문한지 가장 최근 페이지 접속 => 그 페이지는 뒤로가기에서 삭제 ==> stack? 앞으로가기 앞으로 가기에 한 개 이상 현재 보고있는 페이지를 뒤로가기에 저장 앞으로 가기 공간에 방문.. 2023. 3. 30.
16924 - 십자가 찾기 with Python https://www.acmicpc.net/problem/16924 16924번: 십자가 찾기 십자가는 가운데에 '*'가 있고, 상하좌우 방향으로 모두 같은 길이의 '*'가 있는 모양이다. 십자가의 크기는 가운데를 중심으로 상하좌우 방향으로 있는 '*'의 개수이다. 십자가의 크기는 1보다 크 www.acmicpc.net 주저리 주저리 빡 구현 + bfs문제라 판단된다. -1 처리를 하는 것이 제일 힘든 문제라 판단된다. 문제 해결 bfs로 하나하나 도는 것이 관건이다. x + dx[i] * k 이런식으로 한칸씩 증가하면서 (+1-1) 단 한번이라도 십자가 모양에서 벗어나는 순간 바로 return을 해버리면 된다. 다만 별이 문제인데, 나는 별을 리스트로 담아둔 후(좌표 기준) 해당 좌표를 bfs로 지나가.. 2023. 2. 28.
728x90