본문 바로가기

728x90

Python

(24)
[프로그래머스/python] 코딩테스트 연습 Lv.1 (6월 세 번째 주 2) 옹알이(2) 문제 설명 / 제한사항 / 입출력 예 aya, ye, woo, ma 만 발음 가능 / 위 네 가지 조합으로만 말할 수 있음 + 같은 발음 연속되면 못함 => babbling에서 조카가 발음할 수 있는 단어 개수는? ex1) aya만 가능 -> 1, ex2) aya+ye, ye+ma+woo 가능 -> 2 (ye+ye는 연속됐기 때문에 X) Solution def solution(babbling): answer = 0 #발음할 수 있는 단어의 개수 for i in babbling: a = i.replace("aya", "1") #aya -> 1 if "11" in a: #aya가 두 개 이상 연속 == 11이 포함 continue #발음할 수 없는 단어! b = a.replace("ye", "2..
[프로그래머스/python] 코딩테스트 연습 Lv.1 (6월 세 번째 주) 완주하지 못한 선수 문제 설명 완주하지 못한 마라톤 선수 찾기! participant : 참가자 completion : 완주한 사람 완주하지 못한 사람은 단 한명 존재! 단, 동명이인이 있을 수 있음 participant와 completion 을 비교하여 없는 사람 찾으면 됨! 입출력 예 Solution def solution(participant, completion): answer = '' participant.sort() completion.sort() for i in range(len(completion)): if participant[i]!=completion[i]: return participant[i] return participant[-1] 1(중복X). participant = [leo,..
[프로그래머스/python] 코딩테스트 연습 Lv.1 (6월 두 번째 주) 로또의 최고 순위와 최저 순위 문제 설명 로또 : 1부터 45의 숫자 중, 6개 찍어서 맞추기 1등 - 6개 번호 일치 2등 - 5개 번호 일치 3등 - 4개 번호 일치 4등 - 3개 번호 일치 5등 - 2개 번호 일치 6등 - 그 외(1개 번호 일치 or 모두 불일치) 로또에 낙서 -> 알아볼 수 없는 부분 0으로 표기 -> 받을 수 있는 최고 등수와 최저 등수? ex) 낙서된 로또: 44 1 0 0 31 25, 당첨 번호: 31 10 45, 1, 6, 19 최고 등수: 3등, 4개 번호 일치(31, 1, 0, 0) 최저 등수: 5등, 2개 번호 일치(31, 1) 입출력 예 Solution def solution(lottos, win_nums): #로또 번호, 당첨 번호 count = 0 #맞은 번호 ..
[프로그래머스/python] 코딩테스트 연습 Lv.1 (6월 첫 번째 주) [1차] 다트게임 문제 설명 0~10까지의 점수가 있는 다트 S(Single) : 점수 1제곱 D(Double) : 점수 2제곱 T(Triple) : 점수 3제곱 *(스타상) : 해당 점수*2 & 바로 전 점수*2 #(아차상) : 해당 점수 마이너스 입출력 예 Solution def solution(dartResult): answer = [] dartResult = dartResult.replace('10', 'A') #10 -> A arr = list(dartResult) for i in range(len(arr)): if arr[i]=="S": num = (10 if arr[i-1] == 'A' else int(arr[i-1])) answer.append(pow(num, 1)) elif arr[i]=..
[프로그래머스/python] 코딩테스트 연습 Lv.1 1주차 (5월 네 번째 주) 제일 작은 수 제거하기 문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 입출력 예 문제 발생 def solution(arr): answer = [] if len(arr)==1: answer.append(-1) return answer min = arr[0] for i in arr: if min>i: min=i arr.remove(i) answer = arr return answer 결국, 다른 분들의 풀이를 찾아보게 됨 ㅠ 비효율적 코드라는 답을 얻음..
[프로그래머스/python] 코딩테스트 입문 3주차 (5월 세 번째 주) Day 21-2⭐. 안전지대 문제 설명 다음 그림과 같이 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다. 지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다. 지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하도록 solution 함수를 완성해주세요. 입출력 예 문제 접근 Solution def solution(board): answer = 0 temp = [2]*len(board) board.insert(0, temp) board.insert(len(board), temp) for i in range(1,len(board)): b..
[프로그래머스/python] 코딩테스트 입문 1주차 (5월 첫 번째 주) * 하루에 10문제씩이다 보니 정리해야할 양이 너무 많기도 하고, 굳이 적을 필요 없는 문제들도 많아서 제가 어려웠던 것 위주로 정리했습니다. 11⭐. 최빈값 구하기 문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. Solution from collections import Counter def solution(array): answer = 0 counter = Counter(array) # Counter({3:3, 1:1, 2:1, 4:1}) most = counter.most_common() #[(3, 3), (1, 1..
[프로그래머스/python] 코딩테스트 입문 0주차 (4월 마지막 주) 1. 두 수의 합 문제 설명 정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요. Solution def solution(num1, num2): answer = -1 answer = num1 + num2 return answer solution(100, 2) Result 2. 두 수의 차 문제 설명 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. Solution def solution(num1, num2): answer = 0 answer = num1 - num2 return answer solution(2, 3) Result 3. 두 수의 곱 문제 설명 정수..

728x90