목록Computer Science (244)
DHistory
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(number, limit, power): knights = [countDivisor(i) for i in range(1, number + 1)] return sum([knight if knight
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import heapq def solution(k, score): answer = [] hof = [] for number in score: # 최소힙이므로 자동 정렬되어 들어간다. heapq.heappush(hof, number) # 기준보다 많은 경우 최솟값을 제외한다. if len(hof) > k: heapq.heappop(hof) # 가장 처음은 최솟값이므로 결과값을 넣는다. answer.append(hof[0]) return answer 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(s): answer = [] dictionary = {} for i in range(len(s)): alpha = s[i] # 처음 나오는 문자인 경우 결과에 -1을 저장합니다. # 현재 문자열의 index를 문서에 저장합니다. if dictionary.get(alpha) == None: answer.append(-1) dictionary.setdefault(alpha, i) # 2번 이상 나온 문자인 경우 결과 몇 번째만에 나왔는지 확인합니다. (현재 index - 기존 i..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(t, p): answer = 0 # p의 길이가 더 긴 경우 예외 if len(p) > len(t): return 1 # 처음부터 마지막 뒤까지 잘라서 비교 for i in range(0, len(t) - len(p) + 1): number = int(t[i:i + len(p)]) if int(p) >= number: answer += 1 return answer 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 DAY = 28 def solution(today, terms, privacies): answer = [] # 현재 날짜를 일로 변경 currentDays = calcuateToDays(today) # 각 약관 종류 별 만료일자 expiredDays = {} for term in terms: termType, expirationPeriod = term.split() expiredDays[termType] = int(expirationPeriod) * DAY # 각 개인정보 수집 일자 만료 확인 fo..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(s, skip, index): # 초기화 answer = '' for alpha in s: origin = ord(alpha) # index까지 한 칸 씩 이동 for _ in range(1, index + 1): origin += 1 # z를 넘어가면 a로 다시 돌아오는 조건 if origin > ord('z'): origin -= 26 # skip 문자열이 포함되는 경우 한 칸 이동 while chr(origin) in skip: origin += 1 # z를 넘어가면 a..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(cards1, cards2, goal): # 초기화 i = 0 j = 0 k = 0 # 문제 풀이 while True: # 종료 조건 1: Goal 완성 시 종료 if k >= len(goal): return "Yes" current = goal[k] # 종료 조건 2: goal에 해당하는 card가 없는 경우 종료 if cards1[i] != current and cards2[j] != current: return "No" if i < len(cards1) - 1 and c..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(keymap, targets): # 초기화 answer = [] letters = [0] * 26 # 문제 풀이 # 각 문자별 최소 자판 횟수 for key in keymap: for i in range(len(key)): index = ord(key[i]) - ord('A') if letters[index] == 0 or letters[index] > i + 1: letters[index] = i + 1 # target을 완성하기 위한 최소 자판 횟수 for target i..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(n, m, section): # 초기화 result = 0 array = [False] * (n) for i in section: array[i - 1] = True # 문제 풀이 index = 0 while index < n: if array[index]: result += 1 index += m else: index += 1 return result 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(wallpaper): # 초기화 n, m = len(wallpaper), len(wallpaper[0]) map = [list(row) for row in wallpaper] x = [] y = [] # 문제풀이 for i in range(n): for j in range(m): if map[i][j] == '#': x.append(i) y.append(j) return [min(x), min(y), max(x) + 1, max(y) + 1] 채점 결과