본문 바로가기

Algorithm/Implementation

(750)
(Python3) - LeetCode (easy) 1957. Delete Characters to Make Fancy String https://leetcode.com/problems/delete-characters-to-make-fancy-string/description/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화fancyStr, index i를 선언 후 적절히 초기화해줍니다.📔 풀이과정pythond의 for loop의 range로 index를 돌때 for loop내 index값을 바꿔도 반영되지 않습니다. 📑 예시for i in range(5): print(f"i before change: {i}") i += 2 print(f"i after change: {i}")i before change: 0i after change: 2i before change: 1i after change: 3i be..
(Python3) - LeetCode (easy) 1952. Three Divisors https://leetcode.com/problems/three-divisors/description/for loop와 조건문을 사용해보는 간단한 문제였습니다.📕 풀이방법📔 입력 및 초기화약수의 개수 divisors선언 후 0으로 초기화합니다.📔 풀이과정1부터 n까지 for loop를 수행하며 n % 현재 loop의 값이 0이라면 약수이므로 divisors를 1씩 증가시켜줍니다.📔 정답 출력 | 반환divisors가 3인지 여부를 반환합니다.📕 Code📔 Python3class Solution: def isThree(self, n: int) -> bool: divisors = 0 for i in range(1, n+1): if n % i == ..
(Python3) - LeetCode (easy) 1941. Check if All Characters Have Equal Number of Occurrences https://leetcode.com/problems/sum-of-digits-of-string-after-convert/간단 구현 문제였습니다.📕 풀이방법📔 풀이과정1. convertedNum을 선언해주고 getConvert함수의 결과를 저장합니다.문자열 s의 각 문자를 ascii code로 변환해 이들을 연결한 형태의 문자열을 만든 후 int로 변환한 결과값을 반환하는 함수입니다.2. k만큼 for loop를 수행해 각 loop별 각 정수의 자릿수 합을 반환하는 getTransformed함수를 실행해 convertedNum을 갱신해줍니다.📔 정답 출력 | 반환convertedNum을 반환합니다.📕 Code📔 Python3class Solution: def getTransformed(se..
(Python3) - LeetCode (easy) 1941. Check if All Characters Have Equal Number of Occurrences https://leetcode.com/problems/check-if-all-characters-have-equal-number-of-occurrences/description/dictionary 자료구조를 이용한 문제였습니다.📕 풀이방법📔 입력 및 초기화alphabatFrequency dictionary를 선언해줍니다.📔 풀이과정1. s에 대해 for loop를 수행해 다음을 수행합니다.  1-1. alphabatFrequency의 key에 해당 문자가 없다면 해당 문자를 key로 value를 0으로 초기화해줍니다.  1-2. 이외의 경우 alphabatFrequency의 해당 key의 value를 1증가시켜줍니다.2. 지역변수 frequencies를 선언후 alphabatFrequency의 빈도..
(Python3) - LeetCode (easy) 1935. Maximum Number of Words You Can Type https://leetcode.com/problems/maximum-number-of-words-you-can-type/description/📕 풀이방법📔 입력 및 초기화text를 띄어쓰기로 split한 words와 유효하지 않는 word개수 inValidWordCount를 선언 후 적절히 초기화해줍니다.📔 풀이과정words에 대해 이중 for loop를 수행하며 각 word별 단어에 brokenLetters가 존재하는지 여부를 확인해 맞다면 inValidWordCount를 1 증가시켜 줍니다.📔 정답 출력 | 반환words의 길이에서 inValideWordCount한 값을 반환합니다.📕 Code📔 Python3class Solution(object): def canBeTypedWords..
(Python3) - LeetCode (easy) 1929. Concatenation of Array https://leetcode.com/problems/concatenation-of-array/description/간단 list 내장 함수 extend를 사용해본 문제였습니다.📕 풀이방법📔 풀이과정list에 원소 하나씩 뒤에 삽입은 append, 다른 list를 뒤에 추가하는 함수는 extend 사용하면 됩니다. 따라서 nums를 nums에 extend해줍니다.📔 정답 출력 | 반환extend된 nums결과를 반환합니다.📕 Code📔 Python3class Solution(object): def getConcatenation(self, nums): """ :type nums: List[int] :rtype: List[int] """ ..
(Python) - LeetCode (easy) 1920. Build Array from Permutation https://leetcode.com/problems/build-array-from-permutation/description/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 변수 ans를 선언합니다.📔 풀이과정nums의 원소를 순회하며 ans에 nums[nums[i]]값을 넣어줍니다.📔 정답 출력 | 반환ans를 반환합니다.📕 Code📔 Python3class Solution(object): def buildArray(self, nums): """ :type nums: List[int] :rtype: List[int] """ ans = [] for i in range(len(nums)): ..
(C++) - LeetCode (easy) 539. Minimum Time Difference https://leetcode.com/problems/minimum-time-difference/description/?envType=daily-question&envId=2024-09-16시계의 분 차이를 계산하는 구현문제였습니다.📕 풀이방법📔 입력 및 초기화1. 각 timePoint를 분으로 환산한 vector minutes를 선언 후 해당 문자열로 분으로 환산하는 getTotalMinute를 timePoints별로 수행해 minutes에 저장합니다2. minutes를 오름차순으로 정렬해줍니다. 이로써 이웃한 시간간의 차이가 최소화 됩니다. 3. 정답 변수 minDiff를 선언 후 int max값으로 저장합니다.(약 10억)📔 풀이과정1. minutes의 원소를 돌며 다음을 수행합니다.  1-1..