본문 바로가기

알고리즘/Python 기초

(26)
파이썬 - 최댓값과 최솟값(lv.2) 문제 ) 프로그래머스 - 최댓값과 최솟값(lv.2) 📌 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 📌 제한 사항 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 📌 입출력 예 s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" ✏️ 문자열을 map()을 이용해 정수 배열로 받아온 뒤 min(), max() 값을 str()로 변경 def solution(s..
파이썬 - JadenCase 문자열 만들기(lv.2) 문제 ) 프로그래머스 - JadenCase 문자열 만들기(lv.2) 📌 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 📌 제한 사항 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 📌 입출력 예 s return "3people unFollowed me" "..
파이썬 - 소수찾기(lv.1) 문제 ) 프로그래머스 - 소수찾기(lv.1) 📌 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 📌 제한 사항 n은 2이상 1000000이하의 자연수입니다. 📌 입출력 예 n result 10 4 5 3 ️처음 생각한 방법 : 대.실.패 (시간 초과..) ✏️ 1은 소수가 아니므로 2 ~ n 사이의 값 중 소수 찾기 ✏️ 1 ~ n으로 나누었을 경우 나머지가 0이면 약수! ✏️ 약수가 2개이면 소수이므로 answer에 +1 def solution(n): answer = 0 # 1은 소수가 아님 -> 2부터 10까지 - 반복문 for i in range(2, ..
파이썬 - 3진법 뒤집기(lv.1) 문제 ) 프로그래머스 - 3진법 뒤집기(lv.1) 📌 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 📌 제한 사항 n은 1 이상 100,000,000 이하인 자연수입니다. 📌 입출력 예 n result 45 7 125 229 📌 입출력 예 #1 n(10진법) n(3진법) 앞뒤 반전(3진법) 10진법으로 표현 45 1200 0021 7 ✏️ divmod() ✏️ n값이 1이 될때까지 나눠주기 ✏️ n : 몫 ✏️ re : 나머지 -> 나머지 값을 처음부터 문자열로 추가해주면 앞뒤 반전된 3진법의 형태로 나온다 ✏️ 10진법으로 변경 -> int(바뀐 수, 진법) def sol..
파이썬 - 같은 숫자는 싫어(lv.1) 문제 ) 프로그래머스 - 같은 숫자는 싫어(lv.1) 📌 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, ✔️ arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. ✔️ arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 📌 제한 사항 배열 arr의 크기 : 1,..
파이썬 - 제일 작은 수 제거하기(lv.1) 문제 ) 프로그래머스 - 제일 작은 수 제거하기(lv.1) 📌 문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 📌 제한 사항 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 📌 입출력 예 arr return [4,3,2,1] [4,3,2] [10] [-1] ✏️ 배열에서 가장 작은 값 찾기 : min() ✏️ remove()로 작은 값 삭제 후 배열 길이 알아보기! ==> 길이가 0일 경..
파이썬 - 없는 숫자 더하기(lv.1) 문제 ) 프로그래머스 - 없는 숫자 더하기(lv.1) 📌 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 📌 제한 사항 1 ≤ numbers의 길이 ≤ 9 - 0 ≤ numbers의 모든 원소 ≤ 9 -numbers의 모든 원소는 서로 다릅니다. 📌 입출력 예 numbers result [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 ✏️ 0 ~ 10 더한 값 = 45 ✏️ 45 - sum[배열] def solution(numbers): return 45 - sum(numbers)
파이썬 - 음양 더하기(lv.1) 문제 ) 프로그래머스 - 음양 더하기(lv.1) 📌 문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 📌 제한 사항 absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. - absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. - signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 📌 입출력 예 absolutes signs result [4,7,..