PS 7

[리트코드][Python]125-valid Palindrome

https://leetcode.com/problems/valid-palindrome/ Valid Palindrome - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 파이썬 알고리즘 인터뷰 책을 보고 풀이 대소문자를 구분하지 않고, 영문자와 소문자만을 대상으로 하여 팰린드롬인지 확인하라 정규표현식을 사용해서 풀이하였다. def isPalindrome(self, s: str) -> bool: words = re.sub(r'[^A-Za-z0-9]','',s).low..

[Python/BOJ] 백준 14442 벽 부수고 이동하기2(BFS)-시간초과에서 삽질하다가 AC

https://www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 앞서 벽 부수고 이동하기 를 풀었기에 이 문제를 풀 아이디어는 쉽게 얻을 수 있었다. 💡 방법 vis 배열을 3차원으로 만드는 것이 아니라 입력되는 k에 따라서 차원을 만드는 것이다. 그후 k번 벽을 뚫을 수 있으므로 뚫을 때마다 -1 씩 줄어들도록 코드를 만들었다. 코드는 나와있는 테케의 정답대로 잘 나왔고 제출하였다. 그러나 계속해서 시간초과가 발생하였다. ..

[Python/BOJ] 백준 1697 숨바꼭질 (dfs)

https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 📄 문제 수빈이는 -1, +1, *2 로 움직일 수 있을때 수빈이가 동생을 찾는 가장 빠른 시간은? 🖌 어떤 생각? 풀었던 문제 - 촌수계산과 비슷하겠거니 하고 풀었다. 계속 틀렸다고 나와서 백준의 질문들을 읽어보았다. 💡 새롭게 알게된 내용 내가 몰랐던 내용은 두가지였다. 1. dist 배열은 0으로 초기화하면 귀찮아진다. 이는 수빈이와 동생의 자리가 0일 수 도있다는..

[Python/BOJ] 백준 2644 촌수계산 (bfs)

https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 이전에 dfs 문제를 파이썬으로 풀어봐서 그런가 파이썬으로 bfs문제를 처음 풀어보았지만 그렇게 어렵지는 않았다. 문제 이름 그대로 촌수를 계산하는 문제이다. 🖌 어떤 생각? 일단 파이썬으로 bfs문제를 처음 풀어보니 어떻게 해야할지 몰라서 코드를 찾아보았다. deque을 이용해서 풀었다! from collections import deque n = int(input()) p,..

[C++/BOJ]백준 1012 유기농배추(BFS) 알고리즘 문제풀이

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net BFS, DFS의 기본문제인 실버2 유기농 배추이다. BFS의 기초만 알고있다면 쉽게 풀수있다. 바킹독님 코드를 보며 공부했기때문에 코드는 갓킹독님의 BFS의 풀이와 유사할것이다. #include #include #define x first #define y second int dx[4] = {0,1,0,-1}; int dy[4] = {1,0,-1,0}; using namespace std; in..

[C++/BOJ]백준 1074 Z 재귀 알고리즘 문제풀이

www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서 www.acmicpc.net blog.encrypted.gg/943?category=773649 백준 재귀문제 Z를 풀어보았다. 풀이는 갓킹독님의 풀이를 보며 공부하였다. 티어는 실버1이다. 재귀문제인만큼 반복적으로 호출할수있는 함수를 만들어야한다. #include using namespace std; int func(int n, int r, int c) {//r은 행 c는 열 if (n == 0) return 0; int half..