일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UIKit
- Swift공부
- 정렬
- Algorithm
- iOS개발
- Autolayout
- SwiftUI
- ios
- 그리디 알고리즘
- error
- 오토레이아웃
- 알고리즘 공부
- BFS
- 안드로이드 공부
- dfs
- 공부
- 파이썬
- 백준 온라인 저지
- Level 1
- Kotlin
- 파이썬 풀이
- 알고리즘
- Python
- 앱개발
- 백준온라인저지
- Clean Architecture
- Android
- greedy algorithm
- swift
- 프로그래머스
- Today
- Total
목록Algorithm (32)
Tori의 개발 공부
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Cgoi3/btrRsEE9bqZ/k3Um4JIfYueua5aXkvqXa1/img.png)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/136798 파이썬 풀이 def getMyDivisorLen(n): divisorsList = [] for i in range(1, int(n**(1/2)) + 1): if (n % i == 0): divisorsList.append(i) if ( (i**2) != n) : divisorsList.append(n // i) return len(divisorsList) def solution(number, limit, power): answer = 0 for i in range(1, number+1) : divisorLen = getMyDivisorLen(i) if divisorLen > limit..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/k8erf/btrrhFW3uNo/8Vu7jCIYZPhJf2QK87OKy1/img.png)
문제 파이썬 풀이 from collections import deque def solution(board, moves): length = len(board) dict = {} stack = deque() answer = 0 for i in range(length) : dict[i+1] = deque() for j in range(length) : if board[j][i] == 0 : continue dict[i+1].append(board[j][i]) # 크레인 게임 시작 for number in moves : if dict[number] : # 해당 number줄에 인형이 있다면 new = dict[number].popleft() if stack and stack[-1] == new : answer ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dFIv9L/btrpKlFhhk7/uOXlQO1mN7BwKHrt2vbdcK/img.png)
문제 파이썬 문제 풀이 def solution(N, stages): dic = {} answer = [] user = len(stages) for i in range(1, N+1) : if user != 0 : # 남아있는 유저가 있다면 count = stages.count(i) dic[i] = count/user user -= count else : dic[i] = 0 for key, _ in sorted(dic.items(), key=lambda x:(-x[1], x[0])): answer.append(key) return answer 실패율을 가지고 내림차순으로 스테이지 번호를 출력해야 하기 때문에 각 스테이지 번호에 대한 실패율을 저장해야 했다. 즉 스테이지 번호와 실패율을 쌍으로 기록해야하기 때..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ziJfu/btro8w9L7Md/pPbuwz8MMizGrtZiEMq7i1/img.png)
문제 파이썬 풀이 def solution(array, commands): answer = [] for i, j, k in commands : new_arr = array[i-1 : j] new_arr.sort() answer.append(new_arr[k-1]) return answer 배열을 인덱싱을 이용하면 쉽게 풀 수 있는 문제였다. i번째는 인덱스로 i-1이고 인덱싱에서 end는 포함하지 않기 때문에 (j-1) 번째에 +1을 해줘서 j까지로 잘라낸다. 그리고 파이썬의 sort()함수를 이용해 잘라낸 배열을 정렬해주었다. 그리고 k번째(인덱스 k-1) 값을 answer배열에 추가해주었다.