GitHub

https://github.com/Choidongjun0830

파이썬 알고리즘 문제 풀이 228

[프로그래머스] 문자열 계산하기

문자열 계산하기 문제 설명 my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요. def solution(my_string): answer = 0 list = my_string.split() plus_nums = [int(list[0])] minus_nums = [] for i in range(1, len(list)): if list[i] == "+": plus_nums.append(int(list[i+1])) elif list[i] == "-": minus_nums.append(int(list[i+1])) answer = sum(plus_nums) if len(minus_..

[프로그래머스] 한 번만 등장한 문자

한 번만 등장한 문자 문제 설명 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다. def solution(s): answer = '' for i in s: if i not in answer and s.count(i) == 1: answer += i return ''.join(sorted(answer))

[프로그래머스] 인덱스 바꾸기

인덱스 바꾸기 문제 설명 문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 내 풀이 def solution(my_string, num1, num2): answer = '' s1 = my_string[num1] s2 = my_string[num2] answer = my_string[:num1] + my_string[num2] + my_string[num1+1:num2] + my_string[num1] + my_string[num2+1:] return answer 다른 사람 풀이 def solution(my_string, num1, num..

[프로래머스]영어가 싫어요

영어가 싫어요 문제 설명 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요. def solution(numbers): answer = numbers nums = ['zero','one','two','three','four','five','six','seven','eight','nine'] for i in range(10): answer = answer.replace(nums[i], str(i)) return int(answer)

[프로그래머스] 369게임

369게임 문제 설명 머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. def solution(order): answer = 0 str_order = str(order) nine = str_order.count("9") six = str_order.count("6") three = str_order.count("3") answer = nine + six + three return answer

[프로그래머스] 가까운 수

가까운 수 문제 설명 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. def solution(array, n): answer = 0 min = 100 for i in array: gap = abs(n-i) if min > gap: min = gap answer = i elif min == gap: if answer > i: answer = i return answer문제 조건에 수가 최대 100이라서 min을 100으로 두었다.

[프로그래머스] 컨트롤 제트

컨트롤 제트 문제 설명 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. def solution(s): answer = 0 inputs = list(s.split()) N = len(inputs) for i in range(N): if inputs[i] == "Z": answer -= int(inputs[i-1]) else: answer += int(inputs[i]) return answer 처음에 isdigit()로 문자가 숫자인지 판별해서 하려고 했는..

[프로그래머스] 문자열 정렬하기 (1)

문자열 정렬하기 (1) 문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요. def solution(my_string): answer = [] nums = [] for char in my_string: if char.isdigit(): nums.append(int(char)) nums.sort() answer = nums return answer isdigit()는 문자가 숫자인지 확인. 문자열이면 숫자로만 이루어진건지 확인. 'nums.append(int(char))'로 append할 때 int로 형변환해주기.

728x90