문제)미팅룸은 1개이고 예약된 시간들이 보여진다.시작시간, 종료시간 형태로 배열로 받게 되며겹치는 회의 시간이 있을 경우, false를 리턴하게 된다.input : \[0,30,5,10,15,20]output : falseintput : \[7,10,2,4]output
배열 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입니다.1에서
배열 num을 감안할 때 0이 아닌 요소의 상대적인 순서를 유지하면서 모든 0을 끝으로 이동시키는 함수 작성.Input : 0,3,2.0,8,5Output : 3,2,8,5,0,00이 아닌 값들을 먼저 array에 넣는다index를 기억한다.해당 index 0인 값을
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.주어진 정수가 6, 10, 2라면 6102, 6210, 1062, 1026, 2610, 2106를 만들 수 있고, 이중 가장 큰 수는 6210입니다.0 또는 양의 정수가 담
H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다.어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4421전화번호부에 적힌
스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다.스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다.종류 : 이름얼굴 :
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.numbers의 길이는 2 이상 100 이하입니다.nu
Input "5","-2","4","C","D","9","+","+"Output 27The sum is 5 \-2 points. The sum is 3.4 points. The sum is 7.C -> 3번 데이터 삭제. The sum is 3.D -> 2번의 -2값
Input : "{\[]}"Output : trueInput : "()"Output : falseInput : "(){}\[]"Output : trueInput : "(]"Output : falseStack 이용오픈 괄호들 먼더 스택에 넣는다.클로즈 괄호들이 나오면 뺀
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.s는 길이 1 이상, 길이 8 이하인 문자열입니다.s a234return
배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다
프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다.또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포
1은 육지, 0은 바다육지의 개수를 구하시오.Input{'1','1','1','0','1'},{'1','1','0','0','0'},{'1','1','0','0','1'},{'0','0','0','0','1'}Output3전형적인 dfs 문제.구구단처럼 행 별로 접근한
위와 같은 이진 트리가 있다고 생각해보자.Queue를 이용하여 풀어야한다.계층 별로 리스트에 담아 리턴해야 한다.result : \[7,2,9,1,5,14]이런 식의 답이 나와야 한다.LinkedList를 이용하여 다음 숫자를 아는 방식으로.queue.poll()로
일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.prices의 길이는 2 이상
한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 soluti
무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.사람들의 몸무게가 70kg, 50kg, 80kg, 50kg이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사
최적해를 구하는 상황에서 사용하는 방법.여러 경우 중 하나를 선택할 때 그것이 그 상황에서 가장 좋다고 생각하는 것을 선택해 나가는 방식으로 진행하여 답을 구한다.늘 최적해를 보장해주진 못한다.그러나, 계산 속도가 매우 빠르다는 장점이 있다.Dynamic Program
알고리즘 문제를 풀다보면 리스트내의 데이터로 여러 조합을 만들 경우가 있고 이럴 때, 중복 여부, 순서 상관 여부에 따라 다르게 계산해야 한다. 순열 Permutation 순서를 다르게 취급한다면 nPr = n개의 숫자에서 r개를 뽑아 정렬하는 가짓수이다. {1,2,
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다.Leo는 모든 음식의 스
0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다.x의 모든 0을 제거합니다.x의 길이를 c라고 하면, x를 c를 2진법으로 표현한 문자열로 바꿉니다.예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "011101
Given a 2D board and a word, find if the word exists in the grid.The word can be constructed from letters of sequentially adjacent cell,where "adjacen
Depth First Search깊이 우선 탐색스택이 사용됨재귀적인 구현이 사용될 때가 많다. 선수 자료 구조로 그래프를 공부해야 한다.DFS를 사용할 때는 재귀호출(recursion)을 쓰는 게 효율적이고 효과적이다.시작점부터 다음 분기로 넘어가기 전에 해당 분기를
n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 1, 1, 1, 1, 1로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.\-1+1+1+1+1 = 3\+1-1+1+1+1 = 3\+1+1-1+1+1 = 3
BFS Breadth First Search 너비 우선 탐색 큐가 사용됨 다차원 배열에서 각 칸 방문 시, 너비를 우선하는 알고리즘 그래프에서 모든 노드를 방문하기위한 알고리즘에서 나옴. DFS Depth First Search 깊이 우선 탐색 스택이 사용됨 재귀적
네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다.
주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 ICN 공항에서 출발합니다.항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요.모든 공항은 알파벳
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는
어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.예를 들어, 숫자 1924에서 수 두 개를 제거하면 19, 12, 14, 92, 94, 24 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.문자열 형식으로 숫자 number
조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다.ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA조이스틱을 각 방향으로 움직이면 아래와 같습니다.▲ - 다음 알파벳▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로)◀ -
두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다.한 번에 한 개의 알파벳만 바꿀 수 있습니다.words에 있는 단어로만 변환할 수 있
탐색 범위를 두 부분으로 분할하면서 찾는 방식처음부터 끝까지 돌면서 탐색하는 것보다 훨씬 빠른 장점을 지닌다.시간복잡도전체 탐색 : O(N)이분 탐색 : O(logN)단점이라면 항상 배열을 정렬하고서 찾아야 한다는 점?⭕️ 정렬된 자료 구조에서 특정 값을 찾기 위해 범
선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다.예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다.위 순서에 없는 다른
단일 시작점 최단 거리 알고리즘 시작점에서 다른 모든 정점까지의 최단 경로의 길이를 찾는 문제.방향 그래프무방향 그래프가 주어진다며 간선을 쪼개 방향 그래프로 바꿔야 한다. 0이상의 가중치음수 가중치가 존재해서는 안된다.전까지 계산해둔 최소가 최소라고 보장할 수
N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시
n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다.노드의 개수 n, 간선에
Permutation과 다르게 Combination.내가 보려고 쓰는 글.기억이 나기 위해 쓰는 글.☁️구름에서 문제 풀다가 Combination 오래간만에 봤고 그래서 적어둬야지.문제 출처 : 문제나는 백트래킹하지 않고 재귀를 할것이기에 어떤 방식으로 할지가 중요하다
위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다
문제 링크 : https://www.acmicpc.net/problem/2252N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도
계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다.아래 그림은 m = 4, n = 3 인 경우입니다.가장 왼쪽 위, 즉 집이 있는 곳의 좌표는
IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다.이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 같은 방식으로 결정하려고 합니다.해커톤 대회에 참가하는 모든 참가자들에게는 숫자들과 3