전체 글82 [프로그래머스] 파이썬 - 실패율 https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2019 KAKAO BLIND RECRUITMENT Level 1. 실패율 접근 방식 1. stage 배열을 오름차순으로 정렬한다. 2. stage 배열을 돌면서, 스테이지와 해당 스테이지의 실패율을 딕셔너리에 저장한다. 3. 스테이지에 도달한 유저가 없는 스테이지에서는 해당 스테이지의 실패율을 0으로 저장한다. 4. 실패율을 기준으로 딕셔너리를 정렬한다. ▶ 코드 def solution(N, s.. 2023. 7. 19. [프로그래머스] 파이썬 - 주식 가격 https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트 고득점 Kit (스택/큐) - Level 2. 주식 가격 접근 방식 1. prices를 queue에 집어넣는다. 2. 하나씩 popleft 하면서, queue에 존재하는 가격을 하나 확인할 때마다 time을 1씩 증가시킨다. 3. 2를 실행하면서, queue에 존재하는 가격이 popleft한 가격보다 작을 경우 break 하고, answer에 time을 append한다. def solu.. 2023. 7. 13. [알고리즘] 다이나믹 프로그래밍 중복되는 연산을 줄이자. 컴퓨터는 연산 속도에 한계가 있고 메모리 공간을 사용할 수 있는 데이터의 개수도 한정적이라는 점이 많은 제약을 발생시킨다. 그래서 우리는 연산 속도와 메모리 공간을 최대한으로 활용할 수 있는 효율적인 알고리즘을 작성해야 한다. 다만, 어떤 문제는 메모리 공간을 약간 더 사용하면 연산 속도를 비약적으로 증가시킬 수 있는 방법이 있는데 이중 대표적인 방법이 다이나믹 프로그래밍, 동적 계획법이다. 실전 문제 2. 1로 만들기 정수 X가 주어질 때 정수 X에 사용할 수 있는 연산은 다음과 같이 4가지이다. ① X가 5로 나누어떨어지면, 5로 나눈다. ② X가 3으로 나누어떨어지면, 3으로 나눈다. ③ X가 2로 나누어떨어지면, 2로 나눈다. ④ X에서 1을 뺀다. 정수 X가 주어졌을 때.. 2023. 7. 11. [프로그래머스] 파이썬 - 의상 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Level 2. 의상 접근 방식 1. clothes에서 의상의 종류를 key로, 의상의 이름을 value로 가지는 딕셔너리를 만든다. 2. 1에서 만든 딕셔너리에서 key에 해당하는 (의상의 이름+1)을 딕셔너리 끝까지 곱한다. 3. 2에서 1을 뺀 결과값을 return한다. def solution(clothes) : answer = 1 clotheslist = {} for n, t in clot.. 2023. 7. 7. [프로그래머스] 파이썬 - 전화번호 목록 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Level 2. 전화번호 목록 접근 방식 1. phone_book 원소를 정렬한다. 2. phone_book-1 길이만큼 반복문을 돌면서, 문자열 슬라이스를 이용하여 현재 인덱스와 그 다음 인덱스의 문자열 접두사가 일치하는지 확인한다. 1. 처음 코드 def solution(phone_book) : for i in phone_book : count = 0 for j in range(len(phon.. 2023. 7. 1. [알고리즘] 이진 탐색 순차 탐색 : 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법 이진 탐색 : 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘 - 위치를 나타내는 변수 3개 사용. 탐색하고자 하즌 범위의 시작점, 끝점, 그리고 중간점이다. - 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교하여 원하는 데이터를 찾는 게 이진 탐색 과정 - O(logN) # 이진 탐색 소스코드 구현 (재귀 함수) def binary_search(array, target, start, end) : if start > end : return None mid = (start+end)//2 if array[mid] == target: return mid elif array.. 2023. 7. 1. 이전 1 2 3 4 5 6 7 ··· 14 다음