분류 전체보기
-
[프로그래머스 Python] 이상한 문자 만들기Algorithm/1일 1코테 2020. 9. 23. 12:51
문제 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 입출력 예시 내 답 def solution(s): answer = '' a = s.split() for word in a: for j in range(len(word)): if j%2 == 0: answer += word[j].upper() else: answer += word[j].lower() answer += ' ' return answer[:-1] 알고리즘 1. 공백을 기준으로 answer을 나눠준다. (try, hello, world)로 나뉨 2. 짝수면 대문..
-
[프로그래머스 Python] 약수의 합Algorithm/1일 1코테 2020. 9. 23. 11:35
문제 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 내 답 def solution(n): answer = 0 for i in range(1,n+1): if n%i == 0: answer += i return answer 알고리즘 1. n을 i(1부터 n까지)로 나누어서 나머지가 0인수는(=약수) answer에 더 한다 2. answer 출력 다른사람 풀이 def sumDivisor(num): # num / 2 의 수들만 검사하면 성능 약 2배 향상잼 return num + sum([i for i in range(1, (num // 2) + 1) if num % i == 0]) num//2로 범위지정(모든 약수는 반만 계산하면 되기 때문에) list com..
-
[프로그래머스 Python] 수박수박수박수박수박수?Algorithm/1일 1코테 2020. 9. 22. 11:58
문제 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 내 답 def solution(n): a = '' for i in range(1, n+1): if i%2 == 1: a += '수' else: a += '박' return a 알고리즘 홀수면 '수', 짝수면 '박' 다른사람 풀이 def water_melon(n): s = "수박" * n return s[:n]
-
[프로그래머스 Python] 서울에서 김서방 찾기Algorithm/1일 1코테 2020. 9. 22. 11:29
문제 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 입출력 예시 내 답 def solution(seoul): for i in range(len(seoul)): if seoul[i] == 'Kim': return '김서방은 {}에 있다'.format(i) 알고리즘 1. for문을 이용해 kim을 찾은 뒤, 문자열 format를 이용해 리턴 다른사람 풀이 def findKim(seoul): return "김서방은 {}에 있다".format(seoul.index('Kim')) ㅎㅎㅎㅎ index따위 생각도 못함~~~~~~
-
[프로그래머스 Python] 문자열 내 마음대로 정렬하기Algorithm/1일 1코테 2020. 9. 22. 11:15
문제 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 입출력 예시 내 답 def solution(strings, n): sort_list = [] for s in strings: sort_list.append(s[n] + ':' + s) sort_list = sorted(sort_list) answer = [] for s in sort_list: a = s.split(':') answer.append(a[1]) return answer 알고리즘 1. string에서 하나씩 출..
-
[프로그래머스 Python] 문자열 다루기 기본Algorithm/1일 1코테 2020. 9. 22. 10:27
문제 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 내 답 def solution(s): if s.isnumeric() == True and len(s) == (4 or 6): return True return False 알고리즘 s가 모두 숫자고(isnumeric==True), 길이가 4 또는 6이면 True 다른사람 풀이 def alpha_string46(s): return s.isdigit() and len(s) in (4, 6) isdigit()은 문자열이 숫자인지 아닌지 체크해주는 것 isalpha()는 문자열이 문자인지 아닌지 체크해주는 것 i..
-
[프로그래머스 Python] 문자열 내림차순으로 배치하기Algorithm/1일 1코테 2020. 9. 22. 10:14
문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 입출력 예시 S ANSWER Zbcdefg gfedcbZ 내 답 def solution(s): a = sorted(s, reverse=True) b = ''.join(a) return b 알고리즘 1. 입력받은 s를 내림차순으로 정렬 2. a 리스트를 string으로 바꿔 b에 정렬 3. b 출력 다른사람 풀이 def solution(s): return ''.join(sorted(s, reverse=True)) 위의 알고리즘을 한줄로 구현 ㅋㅋ 짧게 하는 법을 연습해야겠다.
-
[프로그래머스 Python] 문자열 내 p와 y의 개수Algorithm/1일 1코테 2020. 9. 20. 23:33
* 문제 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다. * 입출력 예시 S ANSWER "pPoooyY" true "Pyy" false * 내 답 def solution(s): numberp = 0 numbery = 0 s = s.lower() for i in s: if i == 'p': numberp += 1 elif i == 'y': nu..