🌿Algorithm/Python 116

✏️ [LeetCode] 39. Combination Sum

1. 문제 https://leetcode.com/problems/combination-sum/ Combination Sum - 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 2. 접근 방법 조합 내의 요소는 중복될 수 있는데, 동일한 조합이 답에 들어있으면 안됩니다. 이 말이 맞나 ? 그리고 해당 조합의 합이 target과 같아야합ㄴㅣ다. 그래서 조합을 만들어줄 때, 조합 내의 요소가 같은 조합이 여러 번 존재하지 않도록 temp에 append할 요소를 star..

Algorithm/Python 2021.06.07

✏️ [LeetCode] 200. Number of Islands

1. 문제 https://leetcode.com/problems/number-of-islands/ Number of Islands - 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 2. 접근 방법 기본 dfs 문제입니다. 이번에는 중첩함수를 사용해봤스빈다. 1. 육지인지 확인하는 함수 : is_land 2. dfs함수 : dfs 3. 코드 python class Solution: def numIslands(self, grid: List[List[str]]) ->..

Algorithm/Python 2021.06.07

✏️ [LeetCode] 232. Implement Queue using Stacks

1. 문제 https://leetcode.com/problems/implement-queue-using-stacks/ Implement Queue using Stacks - 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 2. 접근 방법 이번에는 stack을 이용해 queue의 push, pop, peek, empty를 구현하는 것임다 stack은 후입선출인데, queue는 선입선출이라 push는 append로 구현하면 되는데, pop, peek을 위해 맨 앞의 ..

Algorithm/Python 2021.06.06

✏️ [LeetCode] 225. Implement Stack using Queues

1. 문제 https://leetcode.com/problems/implement-stack-using-queues/ Implement Stack using Queues - 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 2. 접근 방법 queue로 stackd의 push, pop, top, empty를 구현하는 문제입니다. 그래서 deque를 사용했습니다. pop, top, empty는 문제될 게 없는데, push가 조금 까다롭습니다. push는 stack의 t..

Algorithm/Python 2021.06.06

✏️ [LeetCode] 739. Daily Temperatures

1. 문제 https://leetcode.com/problems/daily-temperatures Daily Temperatures - 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 2. 접근 방법 stack입니다. 저번에 풀이했던 주식 가격과 매우 유사한 문제라 똑같이 접근하면 됩니다. 프로그래머스 주식 가격 풀이 https://maeng2world.tistory.com/168 3. 코드 python class Solution: def dailyTemperat..

Algorithm/Python 2021.06.06

✏️ [LeetCode] 20. Valid Parentheses

1. 문제 https://leetcode.com/problems/valid-parentheses/ Valid Parentheses - 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 2. 접근 방법 stack의 기본 문제입니다요 주어진 문자열을 하나씩 확인해가면서 만약에 여는 괄호라면 stack에 담고, 닫는 괄호가 나올 경우 이와 쌍을 이루는 여는 괄호가 stack의 맨 뒤에 있다면 ok, 아니라면 false를 반환합니다. 문자열을 모두 순회한 후, stack에..

Algorithm/Python 2021.06.06

✏️ [백준 2468] 안전영역

1. 문제 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 2. 접근 방법 일단 비가 얼만큼 내렸을 때 안전한 영역이 몇개가 되는지를 구하기 위해서 비가 올 수 있는 높이를 구해야합니다. 저는 최소 높이 -1 ~ 최대 높이 만큼을 비가 올 수 있는 경우로 지정했습니다. 최소 높이 -1 부터 시작한 이유는 "아무 지역도 물에 잠기지 않을 수도 있다."라고 명시되어 있기 때문입니다. 비가 음수만큼 내린다느 것은 사실 말이 안되긴 하지만, 내리는 비의 높이..

Algorithm/Python 2021.06.06

✏️ [백준 7569] 토마토

1. 문제 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 2. 접근 방법 bfs로 풀면 됩니다 여기서는 가로, 세로 뿐만 아니라 높이도 고려해야하기 때문에 이에 맞춰서 direction을 6개로 만들어주면 됩니다 그리고 초기 상태에서 아직 익지 않은 토마토의 갯수를 세서, 익은 토마토를 사용해 토마토를 익혀주다가 토마토가 더 이상 익지 않는 경우 -> 토마토가 다 익어서 안익는 건지, 혹은 다 못익히는 건지 판단 후 p..

Algorithm/Python 2021.06.06

✏️ [백준 2644] 촌수계산

1. 문제 https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1≤n≤100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어진 www.acmicpc.net 2. 접근 방법 bfs로 접근하면 됩니다요 visit확인 필수 .. 처음에 visit 확인하는 부분을 잘 못 넣었다가 메모리 초과가 나버렸습니다. 넘 당황해서 서치해봤더니 똑같은 부분에서 문제가 ..^^ (참고 https://hqjang.tistory.com/97) 3. 코드 python from collections import deque N = int(input()) ..

Algorithm/Python 2021.06.05

✏️ [백준 2573] 빙산

1. 문제 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 2. 접근 방법 1년을 기준으로 빙산을 녹이고, 녹은 후의 빙산이 두 덩어리인지 확인하면 됩니다. 다른 분이 올려놓은 테스트케이스 중에 입력이 두 덩어리인 경우도 예외처리 해줘야한다고 되어있는데, 문제에서 "한 덩어리의 빙산이 주어질 때" 라고 명시되어 있기 때문에 이는 생각하지 않아도 됩니다. 그래서 크게 1. 빙산을 녹인다. 2. 두 덩어리인지 확인한다. 이렇게 두 개를 만들면..

Algorithm/Python 2021.06.05