
[프로그래머스] [Python] 순서쌍의 개수
2022. 11. 12. 14:08
Programmers/Python
문제 설명 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 1,000,000 입출력 예 n result 20 6 100 9 내 풀이 def solution(n): answer = 0 array = [] for i in range(1, n+1): if n % 1 == 0: array.append(i) return len(array) 회고 모든 약수의 수는 순서쌍의 수와 같다는 것을 처음 알았다. 머쓱 스터디원들의 도움으로 풀었다 ㅎㅎ 감사감사합니다. range(1, n+1) 이 아니라 그냥 range(n) 으..

[프로그래머스] [Python] 옷가게 할인 받기
2022. 11. 12. 13:47
Programmers/Python
문제 설명 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 제한사항 10 ≤ price ≤ 1,000,000 price는 10원 단위로(1의 자리가 0) 주어집니다. 소수점 이하를 버린 정수를 return 합니다. 입출력 예 price result 150,000 142,500 580,000 464,000 내 풀이 def solution(): if price >= 500000: answer = int(price * 0.8) return answer elif price >= 300000: answer = int(pri..

[프로그래머스] [Python] 문자열 정렬하기 (1)
2022. 11. 11. 13:40
Programmers/Python
문제 설명 문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 my_string에는 숫자가 한 개 이상 포함되어 있습니다. my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. 입출력 예 my_string result "hi12392" [1, 2, 2, 3, 9] "p2o4i8gj2" [2, 2, 4, 8] "abcde0" [0] 내 풀이 def solution(my_string): return sorted([ int(i) for i in my_string if ord(i) < 65 ]) 회고 ㅎㅎ 깔끔하게..

[프로그래머스] [Python] 문자열 정렬하기 (2)
2022. 11. 11. 13:28
Programmers/Python
문제 설명 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때,my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < my_string 길이 < 100 입출력 예 my_string result "Bcad" "abcd" "heLLo" "ehllo" "Python" "hnopty" 내 풀이 def solution(my_string): array = [] answer = '' for i in my_string: if i.isupper(): array.append(i.lower()) else: array.append(i) array = sorted(array) for k in array: answer..

[프로그래머스] [Python] 대문자와 소문자
2022. 11. 11. 13:14
Programmers/Python
문제 설명 문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 1,000 my_string은 영어 대문자와 소문자로만 구성되어 있습니다. 입출력 예 my_string result "cccCCC" "CCCccc" "abCdEfghIJ" ABcDeFGHij" 내 풀이 def solution(my_string): answer = '' for i in my_string: if ord(i) >= 97: letter = ord(i) - 32 answer += chr(letter) else: letter = ord(i) + 32 answer += chr(letter)..

[프로그래머스] [Python] 숫자 찾기
2022. 11. 11. 03:18
Programmers/Python
문제 설명 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return 하고, 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < num ≤ 1,000,000 0 ≤ k < 0 num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다. 입출력 예 num k result 29183 1 3 232443 4 4 123456 7 -1 내 풀이 def solution(num, k): answer = 0 if str(k) in str(num): answer = str(num).index(str(k)) return answer + 1 else: return -1 회고 무난무난하게 풀었군. fi..

[프로그래머스] [Python] 중복된 숫자 개수
2022. 11. 11. 02:50
Programmers/Python
문제 설명 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 0 ≤ array의 원소 ≤ 1,000 0 ≤ n ≤ 1,000 입출력 예 array n result [1, 1, 2, 3, 4, 5] 1 2 [0, 2, 3, 4] 1 0 내 풀이 def solution(array, n): answer = 0 for i in array: if i == n: answer += 1 return answer 회고 아니... array.count(n) 이면 한 줄로 끝나는 것을... 아직 파이썬 함수에 익숙치 않아서 돌아돌아 갔던 것 같다. 파이썬 함수들과 친해지자. ..

[프로그래머스] [Python] 최댓값 만들기 (1)
2022. 11. 11. 02:31
Programmers/Python
문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최대값을 return 하도록solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 10,000 2 ≤ numbers의 길이 ≤ 100 입출력 예 numbers result [1, 2, 3, 4, 5] 20 [0, 31, 24, 10, 1, 9] 744 내 풀이 def solution(numbers): numbers.sort(reverse=True) return numbers[0] * numbers[1] 회고 입력된 배열을 내림차순으로 정렬한 뒤, 가장 앞의 두 요소를 곱했다. 내 답안이 메이저 답안이라 기쁘다! 캬캬. sort 함수에 reverse=True 옵션을 줄 ..