본문 바로가기

Engineering WIKI/Programmers71

[프로그래머스] 자연수 뒤집어 배열로 만들기 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 내 풀이 (실패) def solution(n): return sorted(list(map(int, str(n))), reverse=True) 내풀이 (성공) def solution(n): x = [int(i) for i in str(n)] x = x[::-1] return x 다른방법 1 def digit_reverse(n): return list(map(int, reversed(str(.. 2022. 4. 21.
[프로그래머스] 자릿수 더하기 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 내 풀이 def solution(n): return sum([int(answer) for answer in str(n)]) 다른방법 1 def sum_digit(number): '''number의 각 자릿수를 더해서 return하세요''' return sum(map(int,str(number))) # 아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : {}".format(.. 2022. 4. 21.
[프로그래머스] 이상한 문자 만들기 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 내 풀이 def solution(s): answer = '' index = 0 for word in s: if word == " ": answer += " " index = 0 elif index == 0 or index % 2 == 0: answer += word.upper() index += 1 else: answer += word.lower() index += 1 return answer 다른방법 1 def toWeirdCase(s): res .. 2022. 4. 20.
[프로그래머스] 약수의 합 코딩테스트 연습 - 약수의 합 정수 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 다른방법 1 def sumDivisor(num): # num / 2 의 수들만 검사하면 성능 약 2배 향상잼 return num + sum([i for i in range(1, (num // 2) + 1) if num % i == 0.. 2022. 4. 19.
[프로그래머스] 시저 암호 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 내 풀이 (실패) def solution(s, n): answer = '' upper_list = list() lower_list = list() for i in range(ord('A'), ord('Z') + 1): upper_list.append(chr(i)) for i in range(ord('a'), ord('z') + 1): lower_list.append(chr(i)) for i in s: if i in upper_list.. 2022. 4. 19.
[프로그래머스] 문자열을 정수로 바꾸기 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr 내 풀이 def solution(s): return int(s) 다른방법 1 str[::-1]은 주어진 스트링을 거꾸로 만들어 버립니다. 그 다음에 enumerate 함수를 이용하여 한 글자당 인덱스를 배정해서 각 자리에 10의 지수만큼 곱해서 더해주는 거네요. 예를 들면 "-1234"는 str[::-1]에 의해 "4321-"가 되고 4 * (10 ** 0) + 3 * (10 ** 1) + 2 * (10 **2) + 1 .. 2022. 4. 19.