일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- 소프티어
- Lv. 0
- 다이나믹프로그래밍
- 프로그래머스
- C언어
- Dynamic Programming
- 동적계획법
- javascript
- Lv. 3
- binary search
- DP
- level3
- softeer
- Stack
- bfs
- group by
- dfs
- 파이썬
- 스택
- Python
- Lv. 2
- 브루트포스
- programmers
- 메모이제이션
- SQL 고득점 KIT
- 깊이 우선 탐색
- 자바스크립트
- Lv. 1
- 너비 우선 탐색
- Today
- Total
목록2024/01 (29)
몸과 마음이 건전한 SW 개발자
순열 만드는 방법 1. 방문 배열을 안에 N = 5 def dfs(S, N, V, chosen): if S == N: print(chosen) return for i in range(N): if i not in V: dfs(S+1, N, V+[i], chosen + [i]) 2. 방문 배열을 밖에 N = 5 V = [0 for _ in range(N)] def dfs2(S, chosen): if S == N: print(chosen) return for i in range(N): if V[i]: continue V[i] = 1 dfs2(S+1, chosen+[i]) V[i] = 0 dfs2(0, []) 조합 만드는 방법 L = 5 def dfs(S, wishL, nowL, chosen): if S >= ..
문제 링크 https://softeer.ai/practice/6271 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 정답 코드 import sys from collections import deque input = sys.stdin.readline R, C = map(int, input().split()) guidance = [] shower = [] boundaryShower = [] sr, sc = 0, 0 er, ec = 0, 0 def isValid(nr, nc): return 0
문제 링크 https://softeer.ai/practice/6289 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 정답 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) weights = list(map(int, input().split())) adjL = [[] for _ in range(N+1)] for _ in range(M): start, to = map(int, input().split()) adjL[start].append(to) adjL[to].append(start) V = [1 for _ in range(N+1)] for p in range(1, N+1): currentPW = we..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/144853 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 SELECT A.PRODUCT_CODE, SUM(A.PRICE * B.SALES_AMOUNT) AS SALES FROM PRODUCT AS A JOIN OFFLINE_SALE AS B ON A.PRODUCT_ID = B.PRODUCT_ID GROUP BY A.PRODUCT_CODE ORDER BY SALES DESC, A.PRODUCT_CODE; Key Point INNER..
문제 링크 https://school.programmers.co.kr/tryouts/72056/challenges 정답 코드 def solution(s): answer = 1001 lenS = len(s) if lenS == 1: return 1 for cut in range(1, lenS//2+1): stack = [] length = [1 for _ in range(lenS//cut+1)] lengthIdx = 0 string = "" for idx in range(lenS): alpha = s[idx] string += alpha if len(string) == cut: if stack: if stack[-1] == string: length[lengthIdx] += 1 else: stack.app..
문제 링크 https://school.programmers.co.kr/tryouts/72055/challenges 정답 코드 def solution(s): stack = [] for idx in range(len(s)): alpha = s[idx] if stack: last = stack[-1] if last == alpha: stack.pop() else: stack.append(alpha) else: stack.append(alpha) if stack: return 0 return 1 풀이 방법 스택이 비면 alpha를 넣는다. 스택에 값이 있으면 마지막 값 -1번째 인덱스와 현재 alpha를 비교한다. 비교했을 때 값이 같으면 stack에서 pop을 한다. 값이 다르면 stack에 alpha를 ap..