Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 무신사 데이터분석
- 교환학생
- 두잇알고리즘코딩테스트
- 키워드시각화
- 태블로 포트폴리오
- CRM
- 태블로
- 제네바주거
- 교환학생주거
- HEG
- 제네바
- 데이터공모전
- 아셈듀오 후기
- 패스트캠퍼스 #자료구조 #코딩테스트 #배열
- 데이터 분석 포트폴리오
- 교환학생 장학금
- tableau
- 리뷰분석
- 데이터 시각화 포트폴리오
- 아셈듀오 선정
- 파이썬
- 테이블계산
- 공모전후기
- MairaDB
- 텍스트분석 시각화
- 데이터 포트폴리오
- 제네바경영대학교
- 아셈듀오
- 제네바기숙사
- 미래에셋 공모전
Archives
- Today
- Total
민듀키티
[240511] 코딩테스트 문제풀이 본문
1. N번쨰 큰 수
- 우선순위 큐 안에 들어있는 원소의 개수가 N개 미만이라면 : 일단 집어넣기
- 우선순위 큐 안에 들어있는 원소의 개수가 N개라면
- 1) 우선순위 큐의 최솟값 보다 작으면 -> 무시
- 2) 우선순위 큐 최솟값 제거 -> 현재 확인하고 있는 숫자를 우선순위 큐에 삽입
https://www.acmicpc.net/problem/2075
import heapq
n = int(input())
heap = []
heapq.heapify(heap)
for i in range(n) :
A = list(map(int, input().split(" ")))
for j in range(len(A)) :
if len(heap) < n :
heapq.heappush(heap, A[j])
elif heap[0] < A[j] :
heapq.heappop(heap)
heapq.heappush(heap, A[j])
print(heap[0])
2. 크리스마스 선물
- 문제 정확히 읽기
- a -> a개의 숫자
import heapq
n = int(input())
heap = []
for i in range(n) :
number = list(map(int,input().split()))
if number[0] == 0 :
if len(heap) == 0 :
print(-1)
else :
print(-int(heapq.heappop(heap)))
else :
for j in range(number[0]) :
heapq.heappush(heap,-number[j+1] )
3. 이중 우선순위 큐
https://hongcoding.tistory.com/91
[백준] 14235 크리스마스 선물 (Python 파이썬)
문제 설명 https://www.acmicpc.net/problem/14235 14235번: 크리스마스 선물 크리스마스에는 산타가 착한 아이들에게 선물을 나눠준다. 올해도 산타는 선물을 나눠주기 위해 많은 노력을 하고 있는데, 전세
hongcoding.tistory.com
# 이중 우선순위 큐
import heapq
from heapq import heapify
def solution(operations):
heap = []
for i in range(len(operations)) :
a,b = operations[i].split(" ")
if a == 'I' :
heapq.heappush(heap,(int(b), -int(b)))
elif a == 'D' and b == '-1' :# 최솟값 삭제
if len(heap) != 0 :
heapq.heappop(heap)
elif a == 'D' and b == '1' :
if len(heap) != 0 :
heap = [ (j,i) for i,j in heap]
heapify(heap)
heapq.heappop(heap)
heap = [(j, i) for i, j in heap]
heapify(heap)
if len(heap) == 0 :
answer = [0,0]
else :
min_number = heapq.heappop(heap)[0]
heap = [(j, i) for i, j in heap]
heapify(heap)
max_number = -heapq.heappop(heap)[0]
answer = [max_number,min_number]
return answer
4. 타깃넘버
- dfs 이용
- +1
- -1
- +1
- -1
- +1
- +1
- -1
- -1
- 이런식으로,, dfs가 사용됨.. 나는 바보 !!
- +1
https://school.programmers.co.kr/learn/courses/30/lessons/43165
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
cnt = 0
def dfs(numbers, target, current, idx) :
global cnt
if idx == len(numbers) : # 다돌면 멈춰야됨
if current == target :
cnt += 1
return
dfs(numbers, target, current + numbers[idx], idx + 1)
dfs(numbers, target, current - numbers[idx], idx + 1)
def solution(numbers, target):
dfs (numbers, target, 0,0)
return cnt
5. 숫자판 점프
https://www.acmicpc.net/problem/2210
def dfs(i,j,number) :
if len(number) == 6 :
if number not in result :
result.append(number)
return
dx = [1,-1,0,0]
dy = [0,0,-1,1]
for k in range(4) :
x = i + dx[k]
y = j + dy[k]
if 0<=x<5 and 0<=y<5 :
dfs(x,y, number + A[x][y])
# input 값 받기
A = list()
for i in range(5) :
A.append(list(map(str, input().split())))
result = []
for i in range(5) :
for j in range(5) :
dfs (i,j, A[i][j])
print(len(result))
'Coding Test > Python' 카테고리의 다른 글
[240513] 코딩테스트 문제풀이 (0) | 2024.05.13 |
---|---|
[240512] 코딩테스트 문제풀이 (0) | 2024.05.12 |
[240510] 코딩테스트 문제풀이 (0) | 2024.05.10 |
[240509] 코딩테스트 문제풀이 (0) | 2024.05.09 |
[240508] 코딩테스트 문제풀이 (0) | 2024.05.09 |