๋ชฉ๋ก์๊ณ ๋ฆฌ์ฆ๋ฌธ์ ํ์ด (20)
Study Anything ๐ง
#HashTable #DFS #BFS ์ง์์ ๊ณ ์ ID์ ์ค์๋, ๋ถํ ์ง์์ ID๋ฅผ ํฌํจํ ์ง์ ์ ๋ณด์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ์๋ค. ์ง์ ๋ฐฐ์ด employees๋ ๋ค์์ ํน์ง์ ๊ฐ์ง๋ค. - employees[i].id ๋ i๋ฒ์งธ ์ง์์ ID์ด๋ค. - employees[i].importance ๋ i๋ฒ์งธ ์ง์์ ์ค์๋ ๊ฐ์ด๋ค. - employees[i].subsciates ๋ i๋ฒ์งธ ์ง์์ ๋ถํ ์ง์ ID ์ ๋ชฉ๋ก์ด๋ค. ์ง์์ ID๋ฅผ ๋ํ๋ด๋ id๊ฐ ์ฃผ์ด์ก์ ๋ ์ด ์ง์๊ณผ ๋ชจ๋ ์ง๊ฐ์ ์ ์ธ ๋ถํ ์ง์์ ์ด ์ค์๋ ๊ฐ์ ๋ฐํํ๋ค. Trial 1 : Java, 21/02/19 /* // Definition for Employee. class Employee { public int id; public int impor..
#String #Stack ๊ดํธ '(', ')' ๋ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s ๊ฐ ์ฃผ์ด์ง๋ค. ์ต์ ๊ฐ์์ ๊ดํธ๋ฅผ ์ญ์ ํ ์ ํจ ๋ฌธ์์ด์ ๋ฐํํ๋ผ. ์ผ๋ฐ์ ์ผ๋ก, ๊ดํธ ๋ฌธ์์ด์ ๋ค์์ ๊ฒฝ์ฐ์ ์ ํจํ๋ค. ๋น ๋ฌธ์์ด์ด๊ฑฐ๋ ์๋ฌธ์๋ง ํฌํจ๋ ๋ฌธ์์ด ์ ํจํ ๋ฌธ์์ด A,B ๊ฐ ์ฐ๊ฒฐ๋ ๋ฌธ์์ด ์ ํจํ ๋ฌธ์์ด A๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด (A) Trial 1 : Python3, 22/03/15 class Solution: def minRemoveToMakeValid(self, s: str) -> str: s = list(s) # ๋ฌธ์์ด์ ๋ฆฌ์คํธ๋ก ๋ณํ tmp = [] # ๊ดํธ ์์ ์ ์ฅํ ๋ฆฌ์คํธ ์ ์ธ for i, char in enumerate(s):# enumerate() ๋ฉ์๋๋ ์ธ๋ฑ์ค์ ์์ ํจ๊ป ๋ฐํ if char == '..
#Array [x1,x2,...,xn,y1,y2,...,yn] ํํ์ ํฌ๊ธฐ๊ฐ 2n ์ธ ์ ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ก์ ๋, [x1,y1,x2,y2,...,xn,yn] ํํ์ ๋ฐฐ์ด๋ก ๋ฐํํ๋ผ. Trial 1 : Python3, 22/03/10 class Solution: def shuffle(self, nums: List[int], n: int) -> List[int]: re = [] for i in range(n): re.append(nums[i]) re.append(nums[n+i]) return re ํ์ด: ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ 2n ์ด๊ณ ๋ฐฐ์ด์ ๋ฐ ๋๋ด์ ๋ ๋๋ ๊ฐ ๋ฐฐ์ด์ด ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์์์๋ถํฐ ๋ฐํํ ๋ฐฐ์ด์ ํฌํจ๋๊ธฐ ๋๋ฌธ์ i ๋ฒ์งธ ์์์ n+i ๋ฒ์งธ ์์๋ฅผ ์ฐจ๋ก๋๋ก ์ถ๊ฐํ๋ค. ๋ฆฌ๋ทฐ: ๋ฐํ์ 37.72%, ๋ฉ๋ชจ๋ฆฌ ..
#Array #DynamicProgramming ์ค ์๊ฐ ์ฃผ์ด์ก์ ๋, ํ์ค์นผ ์ผ๊ฐํ์ ๋ฐํํ๋ผ. ( * ํ์ค์นผ ์ผ๊ฐํ: ๊ฐ ์์น์ ๊ฐ์ด ๋ฐ๋ก ์์ ๋ ๊ฐ์ ํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์ผ๊ฐํ ) Trial 1 : Python3, 22/03/08 class Solution: def generate(self, numRows: int) -> List[List[int]]: re = [[1]] for r in range(1,numRows): re.append([1] * (r+1)) for i in range(1,r): re[r][i] = re[r-1][i-1] + re[r-1][i] return re ๋ฆฌ๋ทฐ: ๋ฐํ์ 94.90%, ๋ฉ๋ชจ๋ฆฌ 98.61% ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์๋ค. ์ด๋ฒ์ ๋ฌธ์ ๊ฐ ์กฐ๊ธ ์ฝ๊ธด ํ์ง๋ง ์ ๋ฒ ๋ฌธ์ ๋ ๊ทธ๋ ๊ณ Dy..
#Array #DynamicProgramming ์ด๋ค ์ ์ ๋ฐฐ์ด์ด ์ธ ๊ฐ ์ด์์ ์์๋ก ๊ตฌ์ฑ๋์ด ์๊ณ ๊ทธ ์ธ ์์์์ ์ฐ์๋ ๋ ์์์ ์ฐจ์ด๊ฐ ๊ฐ์ผ๋ฉด ๊ทธ ๋ฐฐ์ด์ ์ฐ์ ์ด๋ผ๊ณ ํ์. (ex. [1,3,5,7,9], [7,7,7,7], [3,-1,-3,-5,-9]) nums ๋ผ๋ ์ ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ก์ ๋, ์ฐ์ ์ธ ํ์ ๋ฐฐ์ด์ ๊ฐ์๋ฅผ ๋ฐํํ๋ผ. ์ฌ๊ธฐ์์ ํ์ ๋ฐฐ์ด์ด๋ ๋ฐฐ์ด์์ ์ฐ์๋ ์ผ๋ถ๋ฅผ ์๋ฏธํ๋ค. Trial 1 : Python3, 22/03/04 class Solution: def numberOfArithmeticSlices(self, nums: List[int]) -> int: # ๋ฐฐ์ด ๊ธธ์ด๊ฐ 3 ๋ฏธ๋ง์ด๋ฉด ์ฐ์ ์ธ ํ์ ๋ฐฐ์ด์ ์๋ค if len(nums)= 3: arSbCount.append(count) c..
#Array #HashTable #String ๊ตญ์ ๋ชจ์ค ์ฝ๋๋ ๊ฐ ๋ฌธ์๋ฅผ ์ ๊ณผ ๋์์ ๋งคํํด ํ์ค ์ธ์ฝ๋ฉ์ ์ ์ํ๋ค. (์ธ์ฝ๋ฉํ๋ค.) ํธ์๋ฅผ ์ํด ์์ด ์ํ๋ฒณ์ 26๊ฐ ๊ธ์์ ๋ํ ์ ์ฒด ๋ชจ์ค ๋ณํ ํ๋ฅผ ์ ๊ณตํ๋ค. ๊ฐ ์ฒ ์๋ฅผ ํตํด ๋ชจ์ค ๋ถํธ์ ๊ฒฐํฉ์ผ๋ก ๋ํ๋ผ ์ ์๋ ๋จ์ด ๋ฆฌ์คํธ๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฆฌ์คํธ์ ๋ชจ๋ ๋จ์ด๋ฅผ ๋ชจ์ค ๋ถํธ๋ก ๋ณํํ๊ณ ๋ค๋ฅธ ๋ณํ์ ๊ฐ์ง์๋ฅผ ๋ฐํํ๋ค. ์ฆ, ๋จ์ด๊ฐ ๋ฌ๋ผ๋ ๋ชจ์ค ๋ถํธ๋ก ๋ณํํ์ ๋ ๊ฐ์ ๊ฐ์ด ์ป์ด์ง ์ ์๋ค. (ex. "gin" -> "--...-.", "zen" -> "--...-." ์ผ๋ก ๋ฐํ๊ฐ์ด ๊ฐ์) Trial 1 : Python3, 22/02/27 class Solution: def uniqueMorseRepresentations(self, words: List[..
https://programmers.co.kr/learn/courses/30/lessons/72410 [๋ฌธ์ ] ์ ๊ท ์ ์ ๊ฐ ์ ๋ ฅํ ์์ด๋๋ฅผ ๋ํ๋ด๋ new_id๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, "๋ค์ค"๊ฐ ์ค๊ณํ 7๋จ๊ณ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ๊ฑฐ์น ํ์ ์ถ์ฒ ์์ด๋๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. [์ ํ์ฌํญ] new_id๋ ๊ธธ์ด 1 ์ด์ 1,000 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค. new_id๋ ์ํ๋ฒณ ๋๋ฌธ์, ์ํ๋ฒณ ์๋ฌธ์, ์ซ์, ํน์๋ฌธ์๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. new_id์ ๋ํ๋ ์ ์๋ ํน์๋ฌธ์๋ -_.~!@#$%^&*()=+[{]}:?,/ ๋ก ํ์ ๋ฉ๋๋ค. [ํ์ด] def solution(new_id): new_id = new_id.lower() rmv = '~!@#$%^&*()=+[{]}:?,/'..
์ถ์ฒ : https://programmers.co.kr/learn/courses/30/lessons/77484 ์ค๋ช > ๋ก๋๋ฅผ ๊ตฌ๋งคํ๋๋ฐ ์ผ๋ถ ๋ฒํธ๋ฅผ ์์๋ณผ ์ ์๊ฒ ๋์์ต๋๋ค. ๋น์ฒจ ๋ฒํธ ๋ฐํ ํ, ๊ตฌ๋งคํ๋ ๋ก๋๋ก ๋น์ฒจ์ด ๊ฐ๋ฅํ๋ ์ต๊ณ ์์์ ์ต์ ์์๋ฅผ ์์๋ณด๊ณ ์ถ์ด์ก์ต๋๋ค. ์์๋ณผ ์ ์๋ ๋ฒํธ๋ฅผ 0์ผ๋ก ํ๊ธฐํ๊ธฐ๋ก ํ๊ณ , ๊ตฌ๋งคํ ๋ก๋ ๋ฒํธ 6๊ฐ๊ฐ 44, 1, 0, 0, 31 25๋ผ๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. ๋น์ฒจ ๋ฒํธ 6๊ฐ๊ฐ 31, 10, 45, 1, 6, 19๋ผ๋ฉด, ๋น์ฒจ ๊ฐ๋ฅํ ์ต๊ณ ์์์ ์ต์ ์์๋ 3๋ฑ, 5๋ฑ์ ๋๋ค. (1๋ฑ - 6๊ฐ ๋ฒํธ ๋ชจ๋ ์ผ์น, 2๋ฑ - 5๊ฐ ์ผ์น, 3๋ฑ - 4๊ฐ ์ผ์น, 4๋ฑ - 3๊ฐ ์ผ์น, 5๋ฑ - 2๊ฐ ์ผ์น, 6๋ฑ(๋์ฒจ) - ๊ทธ ์ธ) ๊ตฌ๋งคํ ๋ก๋ ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด lotto..
#Array #Sorting n๊ฐ์ ์ ์ด 2D ํ๋ฉด์ points[i] = [xi, yi] ์ผ๋ก ์ฃผ์ด์ง๋ค. ์์ญ ์์ ๋ค๋ฅธ ์ ์ด ์๋ ๊ฐ์ฅ ๋์ ์์ง์์ญ์ ๋ฐํํ๋ผ. ์์ง์์ญ์ ๋๋น๊ฐ ๊ณ ์ ๋, Y์ถ์ ๋ฐ๋ผ ๋ฌดํํ๊ฒ ํ์ฅํ๋ ์์ญ์ด๋ค. ๊ฐ์ฅ ๋์ ์์ง์์ญ์ ๊ฐ์ฅ ๊ธด ๋๋น๋ฅผ ๊ฐ์ง ์์ญ์ด๋ค. ์์ญ์ ๋ชจ์๋ฆฌ ์์ ์ ์ ์์ญ์ ํฌํจ๋์ง ์๋๋ค. Trial 1 : Python3, 22/02/11 class Solution: def maxWidthOfVerticalArea(self, points: List[List[int]]) -> int: points.sort() re=0 for i in range(1,len(points)): re = max(re, points[i][0]-points[i-1][0]) return ..
#String ์ฃผ์ด์ง ์ ํจํ IP ์ฃผ์๋ฅผ ๋ณ๊ฒฝ๋ ๋ฒ์ ์ผ๋ก ๋ฐํํ๋ผ. ๋ณ๊ฒฝ๋ IP ์ฃผ์๋ ๋ชจ๋ "."๋ฅผ "[.]"๋ก ๋ฐ๊พผ๋ค. Trial 1 : Python3, 22/02/10 class Solution: def defangIPaddr(self, address: str) -> str: return address.replace('.','[.]') ํ์ด: ์ฃผ์ด์ง ๋ฌธ์์ด์ '.' ๋ฌธ์๋ฅผ '[.]'์ผ๋ก ๋ฐ๊พธ๋ฉด ๋๋ ๊ฐ๋จํ ๋ฌธ์ ์ด๋ค. ๋ฆฌ๋ทฐ: ๋ฐํ์ 42.33%, ๋ฉ๋ชจ๋ฆฌ 89.24% ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์๋ค. ๋ฌธ์ ๊ฐ ๊ฐ๋จํ ๋งํผ ๋ฐํ์๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ๋ถํฌ๊ฐ ์ด์ดํ๊ฒ ๋์ด์์๋ ๊ฒ ๊ฐ๋ค. ํ๊ณ ๋ณด๋ ๋ฌธ์ ๊ฐ ๋๋ฌด ๊ฐ๋จํด์ ์กฐ๊ธ์ ๋ฏผ๋งํ์ง๋ง.. ์ผ๋จ์ ํ์์ผ๋ ๊ธ๋ก ๋จ๊ฒจ๋๋ ๊ฒ์ผ๋ก,,