일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 자바스크립트
- 너비 우선 탐색
- programmers
- Python
- Lv. 0
- 문자열
- softeer
- javascript
- Lv. 1
- 스택
- DP
- Lv. 2
- 깊이 우선 탐색
- Dynamic Programming
- 소프티어
- 프로그래머스
- C언어
- Stack
- level3
- 다이나믹프로그래밍
- Lv. 3
- bfs
- group by
- level 3
- 파이썬
- 브루트포스
- 메모이제이션
- SQL 고득점 KIT
- dfs
- Today
- Total
목록알고리즘 (174)
몸과 마음이 건전한 SW 개발자
문제 링크 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..
문제 링크 https://school.programmers.co.kr/tryouts/72053/challenges 정답 코드 def solution(s): answer = '' lenS = len(s) nowIndex = 0 upperLower = True while lenS > nowIndex: alpha = s[nowIndex] nowIndex += 1 if alpha == " ": upperLower = True answer += alpha continue # 대문자부터 if upperLower: answer += alpha.upper() upperLower = False else: answer += alpha.lower() upperLower = True return answer 풀이 방법 - 공..
문제 링크 https://school.programmers.co.kr/tryouts/72052/challenges 정답 코드 def solution(s, n): answer = '' # print(ord("a"), ord("z")) 97 122 # print(ord("A"), ord("Z")) 65 90 for a in s: if a == " ": answer += " " else: if a.isupper(): location = (ord(a) - 65 + n) % 26 + 65 answer += chr(location) else: location = (ord(a) - 97 + n) % 26 + 97 answer += chr(location) return answer 풀이 방법 - ord와 chr 활용 ..
문제 링크 https://school.programmers.co.kr/tryouts/72051/challenges 정답 코드 def solution(arr1, arr2): lenColumn1 = len(arr1[0]) lenArr1 = len(arr1) lenColumn2 = len(arr2[0]) answer = [[] for _ in range(lenArr1)] for idx in range(lenArr1): nowList = arr1[idx] for jdx in range(lenColumn2): nowV = 0 nextList = [] for kdx in range(lenColumn1): nextList.append(arr2[kdx][jdx]) for ldx in range(lenColumn1): ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cylVfH/btsCTworyaI/Yboz6IMHXS07aFC1koZgq0/img.png)
문제 링크 https://school.programmers.co.kr/tryouts/72050/challenges 정답 코드 from collections import deque def solution(places): answer = [] # 5 * 5 # 거리 2 이하는 안돼 # P 응시자 # O는 빈 테이블 # X는 파티션 dr = [-1, 1, 0, 0] dc = [0, 0, -1, 1] def isValid(nr, nc): return 0
문제 링크 https://school.programmers.co.kr/tryouts/72049/challenges 정답 코드 def solution(n): top = [[0 for _ in range(n)] for _ in range(n)] number = 1 cnt = n ifd = [0, 1, 2] direction = 0 startIndex = 0 endIndex = n # index 증가, 고정, 감소, 증가, 고정, 감소 while cnt: cnt -= 1 d = ifd[direction] if d == 0: for idx in range(startIndex, endIndex): top[idx][startIndex] = number number += 1 startIndex += 1 elif d ..