일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- game
- OCR
- Express
- GIT
- class
- jest
- AWS
- typeORM
- JavaScript
- flask
- MySQL
- Bull
- Python
- Queue
- Dinosaur
- dfs
- 정렬
- TypeScript
- 공룡게임
- MongoDB
- 자료구조
- Nest.js
- nodejs
- react
- Sequelize
- mongoose
- cookie
- nestjs
- 게임
- Today
- Total
목록자료구조알고리즘/문제풀이 (68)
포시코딩
문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(numbers, target): # 출력: target이 되는 방법의 수 # 조건: # 2
문제 [자식폴더, 부모폴더]의 폴더구조에 대한 리스트 folders, [파일이름, 파일크기, 속한폴더이름]의 파일 속성에 대한 리스트 files, 확인할 폴더 목록을 담은 리스트 selected, 확인하지 않을 파일 목록을 담은 리스트 excepted 이렇게 네 개의 파라미터가 주어질 때, 확인할 파일들에 대해 [확인해야 할 파일의 크기(단위 제외), 파일 개수] 의 형태로 반환하시오. 단, 파일 크기는 B 단위로 변환되어야 합니다. 예시 1) folders = [['animal', 'root'], ['fruit', 'root']] files = [['cat', '1B', 'animal'], ['dog', '2B', 'animal'], ['apple', '4B', 'fruit']] selected = [..

문제 문제: 주어진 정수 배열 arr에서, 등차수열을 이루는 가장 긴 연속된 부분 배열의 길이를 찾으세요. (2

문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 난이도 보고 덤볐다가 백준의 매운맛을 3일동안 제대로 맛 본 문제 시간, 메모리 제한 쪽으로 너무 깐깐해서 두손 두발 다 들었다. 그 덕분에 버블, 삽입, 선택, 퀵, 병합 정렬만 알던 내가 계수 정렬 까지 알게 됐으니 고마운 문제기도 하다. 내 풀이 N = int(input()) arr = [] for _ in range(N): arr.append(int(input())) count = [0] * (max(..
추가사항 input() -> sys.stdin.readline() print() -> sys.stdout.write() 백준 문제의 입력값을 받거나 출력할 때 input(), print() 대신 sys를 import해서 쓰는게 훨씬 효율이 좋다. 개요 첫째 줄에 수의 개수 N이 주어지고 둘째 줄부터 N개의 줄에는 수가 주어질 때 위의 문장으로 시작하는 문제를 본 적이 있을 것이다. 백준을 접한지 얼마 안된 나는 이 입력값 받는거부터가 멘붕이었는데 그 방법에 대해 알아보자 첫 입력을 N으로 지정하는 것까진 똑같다. 그 후의 입력값들을 어떻게 다룰거냐에 따라 코드가 달라지긴 하는데 나는 리스트에 넣어볼거임 먼저 빈 리스트를 준비한다. arr = [] 이후 for문을 N번 돌며 input()을 받아 arr에 ..
결과 arr = list(map(int, input().split())) # [1, 2, 3, 4, 5] 급한 사람은 위에꺼 갖다 쓰자 개요 지금껏 프로그래머스에서만 문제를 풀어오다 처음으로 백준 문제를 접하게 됐는데 입력값 받는거부터 난관이었다. python의 경우 input()을 통해 값을 입력받는데 숫자 하나면 몰라도 '1 2 3 4 5' 처럼 문자열로 틱 던져주고 이걸 숫자형 리스트로 활용해야 하는 빡치는 상황이 너무 많았다. 그래서 이걸 애초에 입력 받을 때 어떻게 처리해야 할지 정리해봄 과정 arr = input() # 1 2 3 4 5 받은 그대로 출력하면 문자열 '1 2 3 4 5' 그대로다. arr = input().split() # ['1', '2', '3', '4', '5'] spli..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(triangle): # 거쳐간 숫자의 합 # 1 A vs B 라고 할 때 # A, B의 x는 1씩 커지고 # A, B의 y는 F[x][y]에 대해 y, y+1 # for x in range(len(triangle)): # c1 += triangle[x][F] # if triangle[x+1][F] # case 2. 4가 시작인 경우 # x는 1씩 작아짐 # y..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 풀긴 풀었는데 heapq를 import 하지 않고선 방법이 없는건가..? 일단 아래는 heap 복습 겸 직접 구현해서 푼 풀이.. 근데 heap 구현이 잘못됐는지 계속 틀린다. def solution(scoville, K): # 출력: 섞어야 하는 최소 횟수 # 2 self.heap_arr[right_child_idx]: if self.heap_arr[popped_idx] > self...
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(chicken): return test(0, chicken) def test(chicken, prev_coupon): if prev_coupon < 10: return chicken service, coupon = divmod(prev_coupon, 10) coupon += service return test(chicken+service, coupon)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120882 내 풀이 def solution(score): score = [(x+y)/2 for [x, y] in score] spair = [*score] result = [0] * len(score) x = 1 while len(spair) > 0: m = max(spair) temp = 0 for i, e in enumerate(score): if e == m: result[i] = x temp += 1 while spair.count(m) > 0: spair.remove(m) x += temp return result 다른 풀이