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/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://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 요즘 자료구조 문제를 많이 푸는 것 같다. 이 문제는 회전하는 큐를 덱으로 구현하는 문제이다. idx라는 변수를 두어 answer에 넣어야 하는 수가 무엇인지 검사하였다. (입력의 num 배열로) 만약 아니라면, 1번 연산을 다시 되돌리고 찾고자 하는 수의 위치를 찾는다. 인덱스가 앞쪽이면 2번 연산을, 뒤쪽이면 3번 연산을 수행한다. 이때 인덱스 비교를 할 때 // 대신 / 를 써야 한다. ..
https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 처음에는 재귀로 풀었는데 런타임 에러가 떴다. 그래서 재귀를 안 쓰고 푸는 방법을 생각하다가 바로 Q에서 popleft하는 방법이 떠올랐다. 코드도 훨씬 간단해졌다. # 요세푸스 문제 import sys from collections import deque input = sys.stdin.readline N, K = map(int, input().split()) Q = deque([i for i in range(1, N+1)]) answer = [] while Q: for i in ran..
- Total
- Today
- Yesterday
- 프로그래머스
- 1182
- heapq
- 1759
- 덱
- 1764
- 자료구조
- 10845
- 1358
- 2805
- 11051
- 스택
- 러스트
- dp
- 백준
- 파이썬
- 17478
- 큐
- 수학
- 싸피
- 조합
- 10815
- 10816
- 삼성청년소프트웨어아카데미
- 1715
- 브루트포스
- 백트래킹
- 빌림
- 10971
- 딕셔너리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |