일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 프로그래머스 #python #2021카카오 #카카오코테 #카카오인턴쉽
- 동
- 그리디알고리즘 #그리디 #백준 #우선순위큐 #최소힙 #최대힙 #알고리즘 #코딩테스트 #python
- 프로그래머스 #python #코딩테스트 #코테공부 #알고리즘 #dict
- 백준 #백준알고리즘 #알고리즘 #코딩테스트 #코딩테스트준비 #코테준비 #백준2110 #python #문제풀이
- 프로그래머스 #NULL 처리하기
- 프로그래머스 #네트워크 #c++ #코딩테스트 #코테 #코테준비 #dfs
- 카카오 코테
- 프로그래머스 #c++ #코딩테스트
- 백준 #이거다시풀기
- 프로그래머스 #sql #mysql #코딩테스트
- 백준 #백준2217 #백준로프 #python
- 카카오 #프로그래머스 #python #코딩테스트 #오픈채팅방
- Today
- Total
목록알고리즘 문제 풀이 (165)
say repository
https://programmers.co.kr/learn/courses/30/lessons/12953 출처 : 프로그래머스 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr import math as m def solution(arr): answer = 0 for i in range(len(arr)-1): answer = (arr[i] * arr[i+1]) // m.gcd(arr[i], arr[i+1]) arr[i+1] = answer return answer impo..
https://programmers.co.kr/learn/courses/30/lessons/42583 출처 : 프로그래머스 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr def solution(bridge_length, weight, truck_weights): answer = 0 bridge = [0] * bridge_length while bridge: bridge.pop(0) # 맨 첫 원소 pop answer += 1 if truck_weights: if sum(bridge..
https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 출처 : 프로그래머스 # 데브매칭 # w를 두 "균형잡힌 괄호 문자열" u, v 로 분리하는 함수 def divided(w): w_sum = 0 for i in range(len(w)): if w[i] == '(': w_sum += 1 elif w[i] == ')': w_sum -= 1 if w_sum == 0: # 균형잡힌 괄호 문자열 return w[:i + ..
https://programmers.co.kr/learn/courses/30/lessons/12924 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 출처 : 프로그래머스 def solution(n): answer = 0 for i in range(1,n+1): tmp = 0 for j in range(i,n+1): tmp += j if tmp == n: answer += 1 break elif tmp > n: break return answer 풀이 1 1부터 n까지 반복문을 돌면서 이중..
https://programmers.co.kr/learn/courses/30/lessons/42587# 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 출처 : 프로그래머스 from collections import deque def solution(priorities, location): answer = 0 q = deque([v,i] for i,v in enumerate(priorities)) print(q) while q: tmp = q.popleft() # q가 남아 있어야 max 값이 있음. if q a..
https://programmers.co.kr/learn/courses/30/lessons/12911 출처 : 프로그래머스 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr def solution(n): answer = 0 print(bin(n)) cnt = bin(n).count('1') for i in range(n+1,1000001): if bin(i).count('1') == cnt: answer = i break return answer 풀이 bin() 함수로 10진수를..
https://programmers.co.kr/learn/courses/30/lessons/12899 출처 : 프로그래머스 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr def solution(n): answer = '' while n: if n%3 != 0: answer += str(n%3) n //= 3 else: # 3의 배수면 일의 자리는 4 answer += '4' n = n//3 -1 print(n) return answer[::-1] 풀이 3진법으로 변환하는 문제랑 똑같이 생각하면 된다. 하지만, 3으로 나눠떨어질 때만 일의 자리수가 4로 된다.. 또한, 나눠지니까 -1을 해줘야한다.