본문 바로가기

Algorithm/Brute Force

(146)
(Python3) - LeetCode (Easy) : 1475. Final Prices With a Special Discount in a Shop https://leetcode.com/problems/final-prices-with-a-special-discount-in-a-shop간단 전수조사 문제였습니다.📕 풀이방법📔 풀이과정prices에 대해 2차원 for loop를 돌며 다음을 진행합니다. 현 i번째 다음부터 prices[i]가격보다 작은 prices[j]를 찾아 prices[i]에서 해당 값을 빼줍니다.📔 정답 출력 | 반환할인된 prices를 반환합니다.📕 Code📔 Python3class Solution: def finalPrices(self, prices: List[int]) -> List[int]: for i in range(len(prices)): for j in range(i+1..
(Python3) - LeetCode (Easy) : 3264. Final Array State After K Multiplication Operations I https://leetcode.com/problems/final-array-state-after-k-multiplication-operations-i간단 bottom up 전수조사 문제였습니다.📕 풀이방법📔 풀이과정k만큼 다음 연산을 수행합니다.1. nums에서 최솟값에 대한 index를 구해 min_num_idx에 저장합니다. 2. min_num_idx번째 값에 multiplier를 곱해줍니다.📔 정답 출력 | 반환nums를 반환합니다.📕 Code📔 Python3class Solution: def getFinalState(self, nums: List[int], k: int, multiplier: int) -> List[int]: for _ in range(k): ..
(Python3) - LeetCode (Medium) : 2981. Find Longest Special Substring That Occurs Thrice I https://codecollector.tistory.com/manage/newpost/?type=post&returnURL=/manage/posts/ 티스토리좀 아는 블로거들의 유용한 이야기, 티스토리. 블로그, 포트폴리오, 웹사이트까지 티스토리에서 나를 표현해 보세요.www.tistory.com전수조사를 통해 해결한 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 각 부분 문자열을 key로 빈도수를 value로 할 hash map변수 sub_str_map을 선언 후 모든 부분 문자열의 빈도수를 저장합니다. 2. 정답 변수 max_length를 선언 후 -1로 초기화합니다.📔 풀이과정sub_str_map의 모든 item에 대해 순회하며 빈도수가 3이상이라면 max_length와 해당 부분 문자열..
(Python3) - LeetCode (Easy) : 1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence https://leetcode.com/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/description📕 풀이방법📔 입력 및 초기화1. sentence를 선언 후 공백으로 문장을 나눠 split해줍니다. 📔 풀이과정1. sentence의 원소를 순회하며 searchWord가 접두어인 경우 해당 index + 1을 반환합니다.📔 정답 출력 | 반환-1을 반환합니다.📕 Code📔 Python3class Solution: def isPrefixOfWord(self, sentence: str, searchWord: str) -> int: sentence = sentence.split(' ') ..
(Java, Python3) - 프로그래머스(연습문제): 크기가 작은 부분문자열 https://school.programmers.co.kr/learn/courses/30/lessons/147355?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열을 다뤄보는 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 정답 변수 answer 선언 후 0으로 초기화합니다. 2. p의 길이를 선언 후 해당 값을 저장합니다.📔 풀이과정p길이만큼 자르기 위해 0부터 t의 길이 - p의 길이까지 for loop를 수행하며 다음을 진행합니다.1. 자른 부분 문자열을 저장해주고 p보다 작다면 answer를 1증가시켜줍니다. 파이썬의 경우 문자열,정수 비교를 모두 📔..
(Python3) - 프로그래머스(연습문제): 바탕화면 정리 https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화1. answer 선언 후 빈 배열로 초기화합니다. 2. lux, luy, rdx, rdy 선언 후 각각 int max값, int max 값, 0, 0으로 초기화합니다.📔 풀이과정wallpaper에 대해 2차원 for loop를 수행하며 다음을 진행합니다.1. i행 j열에 아이콘이 있다면 lux, luy에는 각각 i행 최솟값, j열 최솟값을 저장해주고 rdx, rdy에는 각각 i+1행 최댓..
(Python3) - 프로그래머스(PCCE 기출문제): 10번 / 공원 https://school.programmers.co.kr/learn/courses/30/lessons/340198 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화정답변수 answer 선언 후 -1로 초기화합니다.📔 풀이과정park에 대해 2차원 for loop를 수행하면서 다음을 진행합니다.1. 현재칸이 -1이 아니라면 다른 돗자리가 깔려 있으므로 continue합니다. 2. mats에 대해 for loop를 수행하며 다음을 진행합니다.  2-1. is_valid flag를 선언해 다시 현재행 + 돗자리 세로 변, 현재열 + 돗자리 가로 변만큼..
(Python3) - 프로그래머스(코딩테스트 입문) : 문자열 밀기 https://school.programmers.co.kr/learn/courses/30/lessons/120921 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 정답변수 answer 선언 후 -1로 초기화합니다. 2. 옮긴 횟수 cnt선언 후 0으로 초기화합니다. 3. A_copy를 선언 후 A를 복사합니다.📔 풀이과정1. A_copy의 길이만큼 오른쪽으로 한 칸씩 밀면서 A_copy가 B와 같은지 비교합니다. 만약 같다면 answer를 cnt로 갱신하고 break합니다. 2. A_copy가 원복되었으므로 왼쪽으로 한 칸씩 밀면서 같은지를 ..