https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀긴 풀었는데 정말 비효율적으로 푼 것 같다. 일단 제일 먼저 한 생각이 progresses, speeds 배열을 가지고 기간이 얼마나 걸리는지를 담은 배열(temp)를 만들었다. 배열의 값을 넣을 때는 ceil 함수를 사용하여 올림으로 계산하였다. 그러고 temp의 모든 값이 0이 될 때까지 반복문을 돈다. temp[idx] 값이 0이라면(개발이 완료되었다면) 다음 temp를 검사한다. 만약 0..
https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 문제보고 중복순열로 풀려고 하다가 .. 백트래킹도 생각해봤다가.. n을 1부터 증가해가며 확인해보니 간단하게 dp로도 풀 수 있었다. 문제에 적용할 알고리즘을 적절히 떠올리는게 너무 어려운 것 같다. def solution(n): dp = [1, 1] + [0] * (n-1) for i in range(2, n+1): dp[i] = dp[i-1] + dp[i-2] return dp[n] %..
https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): Q = s[2:-2].split('},{') Q.sort(key=lambda x:len(x)) answer = [] for q in Q: l = q.split(',') for i in l: if int(i) not in answer: answer.append(int(i)) return answer 문제를 보자마자 집합의 길이가 작은 순서대로 answer 배열에 포함되..
https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(s): answer = 0 Q = deque(s) for i in range(len(s)): Q.append(Q.popleft()) if check(Q): answer += 1 return answer def check(Q): stack = [] for q in Q: if q in ('(', '[', '{'): stack..
https://school.programmers.co.kr/learn/courses/30/lessons/12985?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n,a,b): answer = 0 while True: if a == b: return answer if a % 2 == 1: a = a // 2 + 1 else: a = a // 2 if b % 2 == 1: b = b // 2 + 1 else: b = b // 2 answer += 1 a와 b가 대진을 하는 경우는 a와 b의 몫(2로 나누어..
https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(dirs): x, y = 0, 0 dir = {'U':(0, 1), 'D':(0, -1), 'R':(1, 0), 'L':(-1, 0)} answer = 0 path = [] for i in dirs: nx = x + dir[i][0] ny = y + dir[i][1] if -5
https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import math def lcm(a, b): return (a * b) // math.gcd(a,b) def solution(arr): answer = arr[0] for i in range(1, len(arr)): answer = lcm(answer, arr[i]) return answer math library에 lcm 함수를 지원하는 줄 알았는데 없었다..? 그래서 내가 만들어줬음 arr..
https://school.programmers.co.kr/learn/courses/30/lessons/49189 from collections import deque def solution(n, edge): graph = [[] for _ in range(n+1)] answer = [0] * (n+1) for i in range(len(edge)): a = edge[i][0] b = edge[i][1] graph[a].append(b) graph[b].append(a) Q = deque() Q.append(1) answer[1] = 1 while Q: node = Q.popleft() for g in graph[node]: if answer[g] == 0: Q.append(g) answer[g] = a..
- Total
- Today
- Yesterday
- 삼성청년소프트웨어아카데미
- 싸피
- 조합
- 1358
- 파이썬
- 자료구조
- 큐
- 10815
- 1182
- 1759
- 1764
- 10816
- heapq
- 백준
- 백트래킹
- 딕셔너리
- 스택
- 프로그래머스
- 빌림
- 11051
- 10971
- dp
- 10845
- 러스트
- 덱
- 수학
- 1715
- 2805
- 브루트포스
- 17478
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |