본문 바로가기

알고리즘 공부/프로그래머스 > Python3

(44)
[프로그래머스] x만큼 간격이 있는 n개의 숫자 https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr [정답] def solution(x, n): answer = [] for i in range(0,n): answer.append(x+x*i) return answer
[프로그래머스] 서울에서 김서방 찾기 https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제 programmers.co.kr [정답] def solution(seoul): answer = '' for i in range(len(seoul)): if seoul[i]=='Kim': answer+='김서방은 '+str(i)+'에 있다' return answer answer+='김서방은 '+str(i)+'에 있다' 사칙연..
[프로그래머스] 자릿수 더하기 https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr [정답] def solution(n): answer = 0 n=str(n) #문자열로 바꿈 for i in n: answer+=int(i) return answer 좀 까다로운 문제인 줄 알았는데, 너무 쉽게 풀어서 당황했다,,
[프로그래머스] 이상한 문자 만들기 https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr [정답] def solution(s): answer = '' new_s = s.split(' ') for i in new_s: for j in range(len(i)): if j%2==0: answer+=i[j].upper() else: answer+=i[j].lower() answer+=' ' answer=answer[:-1] return answ..
[프로그래머스] 시저 암호 https://programmers.co.kr/learn/courses/30/lessons/12926?language=python3 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 programmers.co.kr [정답] def solution(s, n): answer = '' for i in s: if i==' ': #빈칸 answer+=' ' elif (ord(i)>=97 and ord(i)122: #소문자면서 ord()+n이 소문자보다 넘어가는 경우 answer+=chr(ord(i)+n-26) elif (ord(i..
[프로그래머스] 문자열 다루기 기본 https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이 programmers.co.kr [정답] def solution(s): answer = True if (len(s)==4 or len(s)==6) and s.isdigit(): answer=True else: answer=False return answer
[프로그래머스] 문자열 내 p와 y의 개수 https://programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr [정답] def solution(s): answer=True n_p,n_y=0,0 new_s=s.lower() for i in range(len(new_s)): if new_s[i]=='p': n_p+=1 elif new_s[i]=='y': n_y+=1 else: continue if n_p..
[프로그래머스] 약수의 합 https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr [정답] def solution(n): answer = 0 for i in range(1,n+1): if n%i==0: answer+=i return answer