프로그래머스
-
[🤷♀️ 프로그래머스 Python] 실패율 (from kakao)Algorithm/1일 1코테 2020. 10. 17. 18:15
문제 programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스�� programmers.co.kr 내 풀이 1차 시도 def remove_list(i, stages): # 해당 값 제거해주는 함수 return [n for n in stages if n != i] def solution(N, stages): dic = dict() # 실패율 저장할 dict for i in range(1, N+1): fail_rate = stages.count(i)/len(stage..
-
[프로그래머스 Python] 캐시 (from kakao)Algorithm/1일 1코테 2020. 10. 16. 16:12
문제 programmers.co.kr/learn/courses/30/lessons/17680 코딩테스트 연습 - [1차] 캐시 3 [Jeju, Pangyo, Seoul, NewYork, LA, Jeju, Pangyo, Seoul, NewYork, LA] 50 3 [Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul] 21 2 [Jeju, Pangyo, Seoul, NewYork, LA, SanFrancisco, Seoul, Rome, Paris, Jeju, NewYork, Rome] 60 5 [Jeju, Pangyo, S programmers.co.kr 내 답 1차 시도 # 정확도 80점으로 통과 X def solution(cacheSize, c..
-
[프로그래머스 Python] 다트게임 (from kakao)Algorithm/1일 1코테 2020. 10. 14. 16:36
문제 programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 나의 풀이 def solution(dartResult): dart = list(dartResult) #한자리씩 list로 생성 score = [] #변환한 거 저장해줄 리스트 # 문자열 -> 리스트 처리 for i in range(len(dart)): if dart[i] == '1' and dart[i+1] == '0': # 10 처리 score.append('10') elif dart[i] == '0' and dart[i-1] == '1': # 겹치면 pass continue else: score.append(dart[i]) # 나머지는 그..
-
[프로그래머스 Python] 비밀지도(from kakao)Algorithm/1일 1코테 2020. 10. 13. 21:05
문제 programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 내 풀이 def solution(n, arr1, arr2): for num, i in enumerate(arr1): #arr1을 숫자->이진수->#,공백으로 변환 b = bin(i)[2:] if len(b) < n: b = '0' * (n-len(b)) + b b = b.replace('1','#') b = b.replace('0',' ') arr1[num] = ..
-
[🤷♀️ 프로그래머스 Python] 체육복Algorithm/1일 1코테 2020. 9. 23. 22:05
문제 programmers.co.kr/learn/courses/30/lessons/42862?language=python3 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr 첫번째 시도 def solution(n, l, r): answer = [] n_list = [n for n in range(1,n+1)] for i in n_list: if i not in l and i not in r: answer.append(i) while 1: if len(l) == 0 or len(r) == 0: if len(r) ..
-
[프로그래머스 Python] 핸드폰 번호 가리기Algorithm/1일 1코테 2020. 9. 23. 20:33
문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 입출력 예시 알고리즘 뒤의 4자리 수를 제외 -> 슬라이싱 앞에 나머지 수는 *표 -> 전체 길이 - 4만큼 별표 두개를 합침 내가 쓴 답 def solution(phone_number): return '*'*(len(phone_number)-4)+phone_number[-4:] 다른 사람들도 비슷비슷하게 한 듯~
-
[프로그래머스 Python] 하샤드 수Algorithm/1일 1코테 2020. 9. 23. 20:07
문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 알고리즘 입력된 x를 각각 a,b로 입력받아 그 합으로 x를 나누었을 때 0이면 True! 그런데 a, b = map(int,str(x)))를 사용해 처리하니 런타임 에러가 발생했다. 그래서 list로 받은 뒤 sum()을 사용하니 통과 왜지..???????? map object가 속도가 느린가? 이 부분에 대해 공부해야 할 것 같다 내가 쓴 답 def solution(x): a = list(map(int, str(x))) i..
-
[프로그래머스 Python] 콜라츠 추측Algorithm/1일 1코테 2020. 9. 23. 19:51
문제 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 내가 쓴 답 def solution(num): answer = 0 while True: i..