실패율은 다음과 같이 정의한다. 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이
풀이 순서 소수 판별 -> math 함수를 사용하지 않고 소수를 판별하기 위해서 (num//2)+1를 사용 세 가지 수를 더하는 경우의 수 찾기 -> 세 가지 수를 더하는 경우의 수를 찾기 위해서 itertools 파이썬 라이브러리를 사용 소수 판별 Math 라이브러
배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다
프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다.또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포
괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어"()()" 또는 "(())()" 는 올바른 괄호입니다.")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.'(' 또는 ')' 로만 이루어진
일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합
트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.prices의 길이는 2 이상
배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.예를 들어 array가 1, 5, 2, 6, 3, 7, 4, i = 2, j = 5, k = 3이라면array의 2번째부터 5번째까지 자르면 5, 2, 6, 3입니
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.예를 들어, 주어진 정수가 6, 10, 2라면 6102, 6210, 1062, 1026, 2610, 2106를 만들 수 있고, 이중 가장 큰 수는 6210입니다.0 또는 양
H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1(https://school.programmers.co.kr/learn/courses/30/lessons/42747어떤
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4421전화번호부에 적힌
스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다.예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다.스파이가 가진
그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다.첫째 줄
n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 1, 1, 1, 1, 1로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.1+1+1+1+1 = 3\+1-1+1+1+1 = 3\+1
ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다.지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의
두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다.1\. 한 번에 한 개의 알파벳만 바꿀 수 있습니다.2\. words에 있는 단어로만
주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다.항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요.모든 공항은 알
코딩 테스트를 준비할 때 사용하는 플랫폼의 종류에 따라서 제출하는 형식, 입력받는 형식 등이 달라지게 된다.대표적으로 코딩 테스트를 시행하는 프로그래머스, 구름 플랫폼은 solution 이라는 함수를 호출식으로 인자를 넘겨받게 되어 별도의 input 처리가 필요하지 않
알고리즘은 어떤 목적을 달성하거나 결과물을 만들어 내기 위해 거쳐야 하는 일련의 과정들을 의미한다.알고리즘을 해결할 때 해답을 찾는 과정은 다양하고 여러 가지 상황에 따른 알고리즘은 모두 다르기 때문에 효율적으로 문제를 해결하기 위해서는 시간 복잡도를 고민하여 문제를
큐(Queue)란 양 쪽 끝에서만 데이터를 넣거나 뺄 수 있는 삽입과 삭제의 위치가 제한적인 형태의 선입선출(First-In-First-Out) 구조를 갖는 선형 자료구조이다.스택의 저장구조와 같지만 스택은 top을 통해서만 삽입, 삭제가 이루어졌다.큐는 삽입, 삭제가
덱(Deque)이란, 양쪽에서 삽입과 삭제가 가능한 구조이며 스택과 큐의 연산을 모두 지원한다.→ 덱은 양쪽 끝에서 데이터의 삽입과 삭제 연산을 모두 할 수 있기 때문에, 스택과 큐의 연산을 모두 구현스택 연산front를 스택의 top으로 생각했을 때, 덱의 inser
이스케이프 코드(escape code)는 데어 문자나 키보드에서 타이핑하기 힘든 문자를 나타내는데 사용문자열의 각 문자는 내부적으로 유니코드(Unicode) 코드 포인트(code-point)로 저장다음과 같이 이스케이프 시퀀스(escape sequence)를 사용해 정
🟡 다이나믹 프로그래밍(Dynamic Programing)이란? > 다이나믹 프로그래밍(Dynamic Programing)은 동적 프로그래밍이라고도 부르며 기본적인 아이디어로 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해
파이썬에서 나눗셈 연산을 시행한 결과를 얻는 방식은 4가지가 있다.가장 기본적인 나눗셈나눗셈 결과의 ‘몫’을 가져옴나눗셈 결과의 ‘나머지’를 가져옴나눗셈 결과의 ‘몫’과 ‘나머지’를 한번에 가져옴나눗셈 연산을 수행하고, 그 연산의 결과인 몫과 나머지를 튜플 형식으로 한
GCD (Greatest Common Divisor)→ 두 수 혹은 그 이상의 여러 수의 약수 중 공통이며 가장 큰 수8의 약수 - 1, 2, 4, 810의 약수 - 1, 2, 5, 108과 10의 공통 약수 - 1, 2 중 가장 큰 수 : 28과 10의 최대공약수 -
소수란? (Prime Number)소수란 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로 나누어 떨어지는 자연수이다.8은 1, 2, 4, 8로 나누어 떨어지기 때문에 소수가 아니다.7은 1과 자기자신인 7을 제외하고는 나누어 떨어지지 않으므로 소수이다.
💡 어떤 자연수의 인수(약수) 중에서 소수인 것💡 1보다 큰 자연수를 소인수만의 곱으로 나타낸 것ex) 30 → 2x3x5
python에서는 기본적으로 int()라는 내장 함수를 지원int() 내장함수를 사용하지 않고 n진수를 10진수로 변환하는 다른 방법n진수의 순서를 반대로 만든다.n의 제곱 차수를 늘려가면서 값을 곱해준다.누적한다.2, 8, 16 진수는 bin(), oct(), hex
시간복잡도가 O(NlogN)인 정렬은 퀵 정렬, 병합 정렬, 힙 정렬이 있다.해당 정렬들은 시간복잡도가 O(N^2)인 정렬보다 대체로 구현하기 어렵다.분할 정복 기법(devide and conquer)을 사용한 정렬로 평균적으로 아주 빠른 성능을 갖는 알고리즘이다.기준
그래프는 연결되어 있는 원소간의 관계를 표현한 자료구조이다.그래프는 노드(N, node)와 그 노드를 연결하는 간선(E, edge)의 집합으로 구성된다.즉, 연결되어 있는 객체 간의 관계를 표현할 수 있는 자료 구조이다.ex) 지도, 지하철 노선도의 최단 경로, 전기
STL은 C++ 표준 라이브러리(Standard Template Library)의 약자이다.파이썬에서는 STL을 직접 사용하는 것이 아니기 때문에 파이썬에서 STL을 불러올 필요가 없다.vector는 sequence container 이다. vector에 인접 리스트의
하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것ex) 특정 도시에서 다른 도시로 갈 수 있는지 없는지, 전자 회로에서 특정 단자와 단자가 서로 연결되어 있는지시작 정점으로부터 가까운 정점을 먼저 방문하고 멀리 떨어져 있는 정점을 나중에 방문하는
N×M크기의 배열로 표현되는 미로가 있다.미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오.
💡 스택(Stack)은 한 쪽 끝에서만 제한적으로 접근하여 데이터를 넣고 뺄 수 있는 후입선출(Last-In-First-Out) 형태의 선형 자료구조이다.스택(Stack)은 LIFO(Last-In-First-Out)/FILO(First-In-Last-Out) 순서를