본문 바로가기
반응형

프로그래머스111

[프로그래머스] [1차] 다트 게임 Python Code 프로그래머스의 2018년 카카오 코딩 테스트 문제 1차 다트게임을 Python으로 풀어보겠다. 문제 문제는 쭉 읽어보면 이해하기 쉽다. 구현 입력 문자열을 반복문으로 돌며 1. 숫자인지 확인 2. 보너스 확인 3. 옵션 확인 이 세 가지를 한다. 보너스 다음에 숫자가 온다면 숫자에 보너스 값을 제곱하여 chance(기회) 리스트에 넣는다. 옵션을 받으면 숫자에 보너스 값을 제곱하고 옵션 처리를 해준다. 시뮬레이션 문제라 구현은 간단하게 할 수 있다. 코드 bonus = {'S':1, 'D':2, 'T':3} def solution(dartResult): chance=[] n="" for i, c in enumerate(dartResult): o=1 if c.isdigit(): n+=c elif c in .. 2022. 8. 27.
[프로그래머스] [1차] 비밀지도 Python Code 프로그래머스 [1차] 비밀지도를 Python으로 풀어보겠다. 문제 문제가 약간 복잡하기 때문에 입출력 예제도 첨부했다. 비밀지도 배열 arr1, arr2가 주어지고 이를 이진법으로 해독하여 둘 중 하나라도 1인 부분에 벽('#')을 표시하고 아닌 부분에 공백(' ')을 표시하여 지도를 만드는 문제이다. 구현 구현은 쉽다. 먼저 진법 변환을 한 후 n으로 자릿수를 맞춰준다. 그 후 둘 중 하나라도 1인 곳에 #, 둘 다 0인 곳에 공백을 넣어서 answer에 추가한다. 코드 def solution(n, arr1, arr2): answer = [] for i in range(n): num1, num2 = arr1[i], arr2[i] temp1="" temp2="" while num1>0: num1, mod.. 2022. 8. 27.
[프로그래머스] 부족한 금액 계산하기 Python Code 프로그래머스 부족한 금액 계산하기를 Python으로 풀어보겠다. 문제 간단한 문제라 이해는 쉽다. 구현 어차피 count만큼 탈것이므로 1부터 count까지 모두 더해주고 * price를 해 준다. total에서 위의 값을 빼주면 되는 간단한 문제이다. 코드 def solution(price, money, count): total = sum(range(count+1))*price return total-money if total>money else 0 구현에 쓴 것과 같이 구현했다. sum, range로 1부터 count값까지 더하고 total이 money보다 크다면 total - money를 반환, 아니라면 0을 반환하도록 했다. 다른 풀이 count번 타는 것은 등차수열의 합이므로 아래와 같이 구현도.. 2022. 8. 27.
[프로그래머스] 두 개 뽑아서 더하기 Python Code 프로그래머스 두 개 뽑아서 더하기를 Python으로 풀어보겠다. 문제 문제는 쉽게 이해할 수 있다. 구현 파이썬의 itertool에서 combination을 써서 쉽게 구현 가능하다. numbers에서 두 수를 뽑은 리스트를 만들고 리스트에서 sum을 한 후 중복되는 수를 없애기 위해 set으로 바꿔준다. 마지막으로 sort를 해서 답을 리턴한다. 코드 from itertools import combinations def solution(numbers): lst = list(combinations(numbers,2)) answer = set([sum(x) for x in lst]) return sorted(answer) 위의 구현에 써져있는 설명대로 구현을 했다. 이 코드를 요약하면 아래와 같다. fro.. 2022. 8. 27.
반응형