프로그래머스 스쿨(11)
-
[프로그래머스 스쿨][Python] 최대값과 최소값
문제 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한사항 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예시 s answer "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" 문제: 프로그래머스 스쿨 - 연습문제 - 최대값과 최소값 문제 풀이 유의사항 s의 길이가 명확하게 제시되어 있지 않다. 최대값, 최소값을 찾는데에 걸리는 시간은 O(n)이다. 파이썬의 내..
2023.08.29 -
[프로그래머스 스쿨][Python] 가장 긴 팰린드롬
문제 문제 설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를 들어, 문자열 s가 "abcdcba"이면 7을 return하고, "abaced"이면 3을 return합니다. 제한사항 문자열 s의 길이 : 2,500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성 입출력 예시 s answer "abcdcba" 7 "abaced" 3 문제: 프로그래머스 스쿨 - 연습문제 - 가장 긴 팰린드롬 문제 풀이 유의사항 s의 길이가 2,500이하 이므로, O(N^2)으로 문제를 풀 수 있다. 팰린드롬을 검사하는 함수를 선언하여 문제를 풀..
2023.03.20 -
[프로그래머스 스쿨][Python] 구명보트
문제 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해..
2023.02.28 -
[프로그래머스 스쿨][Python] 다음 큰 숫자
문제 문제 설명 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. 제한사항 n은 1,000,000 이하의 자연수 입니다. 입출력 예시 n result 78 83 15 23 문제: 프로그래머스 스쿨 - 연습문제 - 다음 큰 숫자 프로그래머스 코드 중심의 개발자 채용...
2023.02.07 -
[프로그래머스 스쿨][Python] 숫자 블록 (조건 이상)
문제 문제 설명 그렙시에는 0으로 된 도로에 숫자 블록을 설치하기로 하였습니다. 숫자 블록의 규칙은 다음과 같습니다. 블록의 번호가 n 일 때, 가장 처음 블록은 n * 2번째 위치에 설치합니다. 그다음은 n * 3, 그다음은 n * 4, ...로 진행합니다. 만약 기존에 블록이 깔려있는 자리라면 그 블록을빼고 새로운 블록으로 집어넣습니다. 예를 들어 1번 블록은 2,3,4,5, ... 인 위치에 우선 설치합니다. 그다음 2번 블록은 4,6,8,10, ... 인 위치에 설치하고, 3번 블록은 6,9,12... 인 위치에 설치합니다. 이렇게 3번 블록까지 설치하고 나면 첫 10개의 블록은 0, 1, 1, 2, 1, 3, 1, 2, 3, 2이됩니다. 그렙시는 길이가 1,000,000,000인 도로에 1번 블..
2023.02.03 -
[프로그래머스 스쿨][Python] 멀리 뛰기
문제 문제 설명 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 제한사항 n은 1 이상, 2000 이하인 정수입니다. 입출력 예시 n result 4 5 3 3 문제: 프로그래머스 스쿨 - 연습문제 - 멀리 뛰기 문제 풀이 유의사항..
2023.02.03