코딩테스트
-
[🥰 프로그래머스] 공원 산책Algorithm/1일 1코테 2023. 8. 18. 18:57
문제 https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 dx = {'N':-1, 'S':1, 'E':0, 'W': 0} dy = {'N': 0, 'S':0, 'E':1, 'W':-1} def solution(park, routes): answer = [] x, y = -1, -1 # 시작점 N, M = len(park), len(park[0]) # 공원의 가로세로 # 시작점 찾기 for i in range(N): for j in range..
-
[🥰 프로그래머스] 추억 점수Algorithm/1일 1코테 2023. 8. 17. 22:24
문제 설명 사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인물의 이름이 ["kali", "mari", "don", "tony"]이고 ["kali", "mari", "don"]의 그리움 점수가 각각 [11점, 1점, 55점]]이고, "tony"는 그리움 점수가 없을 때, 이 사진의 추억 점수는 3명의 그리움 점수를 합한 67(11 + 1 + 55)점입니다. 그리워하는 사람의 ..
-
[🥰 leetcode] 692. Top K Frequent WordsAlgorithm/1일 1코테 2022. 10. 19. 12:51
https://leetcode.com/problems/top-k-frequent-words/ Top K Frequent Words - 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 리스트 안에 가장 많이 존재하는 단어순 && 갯수가 같은 경우엔 사전순 정렬을 기준으로 k개를 뽑아내는 문제 나의 풀이 class Solution: def topKFrequent(self, words: List[str], k: int) -> List[str]: # 중복없는 set 생성..
-
[😭 leetcode] 976. Largest Perimeter TriangleAlgorithm/1일 1코테 2022. 10. 12. 11:57
https://leetcode.com/problems/largest-perimeter-triangle/ Largest Perimeter Triangle - 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 삼각형의 세 변의 길이 합 중 가장 큰 값을 찾는 문제 easy라며... easy라며...!!!! 나의 시도... import itertools class Solution: def largestPerimeter(self, nums: List[int]) -> int..
-
[😭 leetcode] 334. Increasing Triplet SubsequenceAlgorithm/1일 1코테 2022. 10. 11. 20:13
문제 https://leetcode.com/problems/increasing-triplet-subsequence/ Increasing Triplet Subsequence - 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 증가하는 시퀀스가 3개인 경우를 찾는 문제 # [1,2,3,4,5] => 1,2,3 TRUE # [5,4,3,2,1] => 증가하는 시퀀스가 존재하지 않음. FALSE # [2,1,5,0,4,6] => 0,4,6 TRUE 나의 (시도했으나 장렬..
-
[🥰프로그래머스] 압축 (2018 KAKAO BLIND RECRUITMENT)Algorithm/1일 1코테 2022. 10. 8. 17:38
나의 풀이 def solution(msg): # 알파벳 사전을 만들기 위한 스트링 alphabet_string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 알파벳 사전 만들기... enumerate는 0부터 시작해서 1씩 더해줌 _dict = {} for i, a in enumerate(alphabet_string): _dict[a] = i+1 answer = [] l = 0 r = l+1 # msg[l:r]이 이미 사전에 있으면 하나 더 해줌 (K->KA) # 없으면 (KA) 사전에 넣어주고 이전 글자 (K)를 answer에 더해줌 # 다만 이미 사전에 있어도 마지막인 경우 (KAKAO 중 O) answer에 더해주지 않아서 따로 처리해줌 while r
-
[😭 leetcode] 15. 3SumAlgorithm/1일 1코테 2022. 7. 25. 20:48
리트코드 13번째 문제 [3Sum] https://leetcode.com/problems/3sum/ 3Sum - 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 문제 배열을 입력받아 합으로 0을 만들 수 있는 3개의 엘리먼트를 출력하라 (중복X) 정답 class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: result = [] # 편의상 정렬 수행 nums.sort() # i를 기준으로 투 ..
-
🌼알고리즘🌼 그리디 알고리즘Algorithm/알고리즘 2022. 6. 5. 19:13
그리디 알고리즘 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 그리디 알고리즘 문제 유형 : 가장 큰 순서대로, 가장 작은 순서대로와 같은 기준이 나타난다. 이런 기준은 정렬 알고리즘과 함께 짝을 이뤄 출제된다 그리디 알고리즘 예제 당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전히 무한히 존재한다. 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러 줘야 할 동전의 최소 개수를 구하라. 풀이 idea : 가장 큰 화폐 단위부터 돈을 거슬러 줘야함 가장 먼저 500원으로 거슬러 줄 수 있을 만큼 거슬러 준다. 그 다음 100원, 50원, 10원... 으로 거슬러 준다. n = 1260 count = 0 # 동전의 유형 coin_typ..