본문 바로가기

Programmers39

[프로그래머스] 숨어있는 숫자의 덧셈(2) def solution(my_string): answer = 0 num_list = ("0","1","2","3","4","5","6","7","8","9") temp_str = '' for value in my_string: if value in num_list: temp_str += value else: if temp_str != '': answer += int(temp_str) temp_str = '' if temp_str != '': answer += int(temp_str) return answer 이번 문제는 주어진 문자열에서 정수 값만 골라서 더해준 값을 구하는 문제이다. temp_str 이라는 임의의 문자열을 선언한 뒤에 주어진 문자열을 순회하면서 해당 문자가 숫자인 경우에만 붙여주고, 자.. 2023. 7. 20.
[프로그래머스] OX퀴즈 def solution(quiz): answer = [] for i in quiz: data = i.split() result = int(data[-1]) formula = ''.join(data[:-2]) if eval(formula) == result: answer.append("O") else: answer.append("X") return answer 이번 문제는 주어진 수식들을 계산한 결과가 맞았을 경우에는 O, 틀렸을 경우에는 X를 반환할 수 있도록 하는 문제이다. 수식의 각 항들을 공백 기준으로 리스트에 저장한 뒤에 결과 값과 계산식의 결과를 비교하여 문제를 풀이하였다 :) 2023. 7. 20.
[프로그래머스] 문자열 계산하기 def solution(my_string): data = my_string.split() # ['3', '+', '4'] answer = int(data[0]) for i in range(1,len(data)-1,2): if data[i] == '+': answer += int(data[i+1]) else: answer -= int(data[i+1]) return answer 이번 문제는 주어진 수식 문자열을 계산하여 결과를 리턴하는 문제이다. 처음에는 문자열을 모두 순회하며 + 인지 - 인지 저장해가며 풀었는데, 테스트케이스에서 실패하여 연산자를 기준으로 값을 처리했더니 통과할 수 있었다. eval 함수 : 매개변수로 받은 expression(우리가 아는 일반적인 사칙연산 '식')을 문자열로 받아서 실.. 2023. 7. 20.
[프로그래머스] 옹알이(1) def solution(babbling): answer = 0 available = ('aya','ye','woo','ma') available_prefix = ('a','y','w','m') def checkFunc(arr): arr_length = len(arr) i = 0 while(i 2023. 7. 18.
[프로그래머스] 바탕화면 정리 def solution(wallpaper): left_top = [49,49] right_down = [0,0] row_l, col_l = len(wallpaper), len(wallpaper[0]) area = [[""]*col_l for _ in range(row_l)] for i,row in enumerate(wallpaper): for j,item in enumerate(row): area[i][j] = item if item == "#": left_top[0] = min(left_top[0],i) left_top[1] = min(left_top[1],j) right_down[0] = max(right_down[0],i+1) right_down[1] = max(right_down[1],j+1) r.. 2023. 6. 23.
[프로그래머스] 공원 산책 def solution(park, routes): row_l = len(park) col_l = len(park[0]) start_location = (0,0) route_list = [] area = [[""]*col_l for _ in range(row_l)] for i,row in enumerate(park): for j,item in enumerate(row): area[i][j] = item if item == "S": start_location = [i,j] for i in routes: route_list.append((i[0],int(i[2]))) for i in route_list: d, n = i[0], i[1] exist_x = False if d == "N": if (start_lo.. 2023. 6. 23.