매주 월요일 아침에 코딩테스트 문제와 풀이를 보내주는 "매일프로그래밍" 문제 풀기
- 알고리즘 문제 찾아서 풀기
매일프로그래밍 사이트에 접속코딩테스트 문제를 받을 메일을 입력하고 구독하기 버튼 누르기매주 월요일 마다 문제를 받아보면 된다- MailProgramming 서비스가 일시 중단되었습니다..ㅜㅜ
- 프로그래머스에서도 알고리즘 문제를 받아옵니다.
- 백준알고리즘도 참고합니다
-
- "./"과 "../" 이 포함된 파일 경로를 "./"과 "../"이 없는 유닉스 파일 경로로 바꾸시오.
-
- 정렬(sort)된 정수 배열과 정수 n이 주어지면, 배열안에 n이 있는지 체크하시오.
-
- 명령어를 입력받아 stack 기능을 수행하시오.
-
- 입력으로 주어진 괄호 문자열이 VPS 인지 아닌지를 판단해서 그 결과를 YES 와 NO 로 나타내어야 한다.
- VPS 란 괄호가 쌍을 이룰수있는 문자열을 말합니다 ex) "(())()", "()()()",
-
- 문자열을 입력받아 그룹 단어인지 아닌지 체크하시오.
- 그룹단어란 중복된 단어가 연속되어있는 단어를 말한다.
-
- a,b 를 입력받아 a 층 b 호에 사는 인원이 몇명인지 구하세요.
- 아파트 거주조건
- 0층의 i호에는 i명이 산다.
- a 층 b 호에 거주하려면 a - 1 층의 1호부터 b 호까지 사람들의 수의 합만큼 거주해야한다.
- 비어있는 집은 없으며 모두가 이 조건을 지키고 있다.
-
- 주어진 리스트에서 조합할 수 없는 숫자 중 가장 작은 양의 정수를 찾으세요.
-
- A, B를 입력받아 A이상 B이하의 숫자들 중 완전 제곱수인것을 찾아 완전제곱수의 합과 최솟값을 출력하세요.
- 완전제곱수가 없을 경우 -1 을 출력하세요.
- 완전제곱수 : 어떤수를 제곱했을때 나오는 숫자
-
- N 번째 피보나치 수를 출력하시오.
-
- 정수 N 을 입력받아 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력하시오.
-
- 5줄로 이루어진 단어들을 세로로 읽었을때 결과를 출력하시오.
-
- 문자열을 입력받아 가장 많이 포함되어있는 알파벳을 출력하시오.
- 여러개라면 알파벳 순서대로 출력하시오.
-
- 세 개의 컵이있고 1번째 컵에 공이 들어가있다.
- x, y를 m번 입력받아 x, y번째 컵의 위치를 바꾸었을때 최종적으로 공의 위치를 출력하시오.
-
- 이 프린터는 규칙이 있습니다.
- 가장 앞에있는 문서의 중요도를 체크하고 프린터 큐 안에 더 높은 중요도를 가진 문서가 있는지 체크합니다
- 없다면 문서를 출력하고 있다면 해당 문서를 큐 가장 뒤쪽으로 옮깁니다.
- 문서갯수, 찾고자하는 문서의 위치, 각 문서의 중요도를 입력받아 찾고자하는 문서가 몇번째로 출력되는지 출력하시오.
-
- 구명보트에 탑승할 사람들의 몸무게와 구명보트의 무게 한계치가 주어졌을때 몇대의 보트가 있어야 모든 사람을 옮길 수 있는지 출력하시오.
-
- num_list 와 commands 가 입력받았을 때 결과값을 출력하세요.
- commands 는 여러개의 리스트로 이루어져있고 리스트에는 시작,끝,찾고자하는 숫자위치 가 담겨있습니다.
- num_list 를 시작,끝 으로 slice 하고 정렬한 뒤 숫자위치를 리스트에 담아 출력하세요.
-
- 단어가 주어지면 가운데 글자를 리턴하세요
- 단어의 길이가 짝수라면 가운데 두글자를 리턴하세요.
-
- 2016년 A월 B일의 요일을 리턴하세요.
- 2016년은 윤년입니다. ( 2월이 29일까지 존재합니다 )
- 2016년 1월 1일은 금요일입니다.
- 요일 리턴방식 MON, TUE, WED, THU, FRI, SAT, SUN
-
- 문자열과 n이 주어졌을때 각 문자를 n만큼 밀어 시저암호를 완성하세요.
- z 와 1 이 주어진경우 a가 리턴되어야 합니다.
- PS. 테스트케이스를 더 못찾고있음
-
- 이진 트리가 주어지면 루트 노드부터 레벨별로 프린트 하시오.
- 프린트 방식은 홀수 레벨은 왼쪽에서 오른쪽으로, 짝수 레벨은 오른쪽에서 왼쪽으로 프린트 하시오. 루트노드는 레벨 1입니다.
-
- 전체 학생의 수, 체육복을 잃어버린 학생들의 번호, 여벌 체육복을 가지고온 학생들의 번호를 입력받아 수업을 들을 수 있는 학생의 수를 출력하시오.
- 체육복이 있어야 수업을 들을 수 있으며, 여벌 체육복을 가져온 학생들의 여벌 체육복은 1벌씩 입니다.
- 체육복은 자기번호 -1 또는 자기번호 +1 의 번호 학생에게만 빌려줄 수 있습니다.
-
- 간단한 문제 4개로 이루어져있습니다.
-
- 리스트 arr에 있는 자연수들중 divisor로 나누어떨어지는 자연수만 리스트에 담아 출력하세요.
-
- "수박수박수.." 와 같은 규칙으로 이루어진 길이가 n인 문자열을 출력하세요. n이 3이면 "수박수" 4면 "수박수박"을 반환하면됩니다.
-
- 문자열을 내림차순으로 배치하세요. 대문자는 소문자보다 작은걸로 간주됩니다.
-
- 문자열 s는 여러개의 단어로 이루어져있습니다. 각 단어의 인덱스가 짝수면 대문자 홀수면 소문자로 변경하여 문자열 s를 출력하세요.
-
- skill과 skill_trees를 입력받아 가능한 스킬트리의 갯수를 리턴하세요
- skill 은 문자열이며 "ABC" 라면 A를 배워야 B를 배울수있고 B를 배워야 C를 배울수있다는 뜻입니다. A를 안배웠는데 C를 배울수 없단 얘깁니다.
- skill_trees 는 문자열들이 담긴 리스트입니다. 각 스킬트리를 검사하여 이와같이 선행스킬의 순서를 잘 지키며 찍은 스킬트리가 몇개인지 리턴하면됩니다.
-
- 숫자 n 을 입력받아 n 이 4의 거듭제곱인지 확인하세요.
-
- 수평 직선에 탑 N대를 세웠습니다.
- 신호를 주고 받을 수 있는데 발사한 신호는 신호를 보낸 탑보다 더 높은 탑에서만 수신합니다.
- 한번 수신된 신호는 다른 탑으로 송신되지 않습니다.
- 다섯 탑이 왼쪽으로 동시에 신호를 발사할 때 각 신호는 몇번째 탑에서 수신하는지 리스트에 담아 리턴하세요.
- 더 높은 탑이 없어 수신이 불가능할 경우 0 을 담습니다.
-
- 숫자를 n을 입력받아 그 숫자가 어떤 수 x의 제곱근이 맞는지 아닌지를 판단하려합니다.
- 맞다면 x + 1 의 제곱을 리턴하고 아니라면 -1 을 리턴하세요
-
- 노트북 판매의 손익분기점을 구하려한다.
- 고정비용 A, 인건비 및 재료비 B, 노트북 생산비용 C를 입력받는다.
- 판매하다보면 어느순간부터 총 수입이 총 비용보다 많아지게된다.
- 그 이익이 발생하는 지점을 손익분기점이라고하는데 최초로 손익분기점이 발생하는 판매량을 출력하세요.
-
- 테스트케이스 갯수 T만큼 출발점 x, 도착점 y를 입력받는다.
- 첫 시작은 1 광년으로 시작하며 k광년을 이동했을 때 k-1, k, k+1 광년을 이동할 수 있다.
- 안전성을 위해 y지점에 도착하기 바로 직전의 이동거리는 반드시 1광년으로 해야한다.
- 각 테스트케이스마다 x 에서 y 까지 이동할 떄 최소한의 작동횟수를 출력하세요.
-
- 달팽이는 낮에 A만큼 올라가고 저녁에 B만큼 미끄러져내려온다.
- 목표인 V높이까지 며칠이 걸리는지 출력하세요.
- 낮에 V높이만큼 도달했다면 더이상 미끄러지지않습니다.
-
- 테스트케이스 갯수 T만큼 건물의 층 H, 층마다 방 갯수 W, 손님의 대기번호 N이 주어진다.
- 방번호는 YXX나 YYXX 형태인데 Y,YY는 층수 XX는 엘리베이터에서부터 세었을때의 번호이다.
- 손님은 가장 가까운 거리의 방을 선호한다.
- ex) 102호보다 201호를 선호한다. 102호는 엘리베이터에서의 거리가 2지만 201호는 1이기 때문이다.
- 위와 같은 이유로 102호보다 2101호를 더 선호한다.
- 정문에서 엘리베이터까지의 거리와 엘리베이터를 타고 이동하는거리는 신경쓰지않는다.
-
- 카잉달력은 M,N보다 작은 두 수 x,y를 가지고 x:y 와 같은 형식으로 표현했다.
- 첫 해는 <1:1>, 두번째해는 <2:2>로 표현하였다.
- 만약 x < M 이면 다음해의 x는 x + 1 이고 아니라면 x는 1이다.
- y도 마찬가지로 y < N 이면 다음해의 y 는 y + 1 아니면 y 는 1이다.
- <M:N>이 달력의 마지막 해 라고할때 x:y 는 몇번째 해인지 구하는 프로그램을 작성하세요.
-
- M, N을 입력받아 M이상 N이하의 숫자 중 소수를 찾으세요.
- 그 소수들의 합을 첫번째 줄에 출력하고, 가장 작은 값을 두번째 줄에 출력하세요.
-
- 점의 갯수 N 을 입력받고, N 만큼 점의 위치 x, y 를 입력받는다.
- 좌표를 x좌표 기준으로 오름차순 정렬한다.
- x 좌표가 같을경우 y좌표기준으로 오름차순 정렬한다.
-
- 점의 갯수 N 을 입력받고, N 만큼 점의 위치 x, y 를 입력받는다.
- 좌표를 y좌표 기준으로 오름차순 정렬한다.
- y 좌표가 같을경우 x좌표기준으로 오름차순 정렬한다.
-
- 단어의 갯수 N 을 입력받고, N 만큼 단어를 입력받는다.
- 단어의 길이가 짧은순으로 오름차순 정렬한다.
- 단어의 길이가 같을경우 사전순으로 정렬한다.
-
- 유저의 수 N 을 입력받고, N 만큼 유저의 나이와 유저이름을 입력받는다.
- 유저 나이순으로 오름차순 정렬한다.
- 유저 나이가 같을경우 등록한 순서로 정렬한다.
-
- driip 이라는 문자열로 끝나는 문자열은 cute, 그렇지 않을경우 not cute 출력
-
- 불기연도를 기준으로 서기연도를 구하기
-
- 좌표가 주어지면 몇 사분면에 있는지 구하기
-
- 주사위 3개의 눈금을 비교하여 원하는 값
-
- 별찍기 6