본문 바로가기

분류 전체보기

(131)
[프로그래머스] 다트 게임 (python) ''' 문제 : 다트 게임 링크 : https://programmers.co.kr/learn/courses/30/lessons/17682 피드백 : - 10을 k로 치환하는 아이디어 - 정규식 사용 ''' ### 내풀이 def solution(dartResult): answer = [0] i = 0 for j in range(len(dartResult)): if dartResult[j].isdigit(): if dartResult[j] == '0' and dartResult[j-1] == '1': answer[i] = 10 else: answer.append(int(dartResult[j])) i += 1 elif dartResult[j] == 'D': answer[i] = answer[i] ** 2 e..
[프로그래머스] 비밀지도 (python) ''' 문제 : 비밀지도 링크 : https://programmers.co.kr/learn/courses/30/lessons/17681 피드백 - 비트 연산자 사용 ''' # 내풀이 def map_sum(arr11, arr22,n): answer = [] for a, b in zip(arr11, arr22): ans = '' for i in range(n): if a[i] == '1' or b[i] == '1': ans += '#' else: ans += ' ' answer.append(ans) return answer def solution(n, arr1, arr2): arr11 = [bin(x)[2:].zfill(n) for x in arr1] arr22 = [bin(x)[2:].zfill(n) fo..
[프로그래머스] 실패율 (python) 문제링크 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 풀이 # 내풀이 def solution(N, stages): stages = np.array(stages) d = {} for i in range(1,N+1): stages = stages[np.where(stages >= i)] try_num = len(stages) success = sum(np.where(stages == i,1,0)) try: d..
[프로그래머스] 크레인 인형뽑기 게임 (python) 문제링크 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 내풀이 import numpy as np from collections import deque def solution(board, moves): b = np.array(board).T.tolist() for doll in b: for i in range(len(b[0])): try: doll.remove(0) except: continue answer, s = 0, [] for ..
[프로그래머스] 키패드 누르기 (python) 문제링크 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 내풀이 def get_distance(now, target): w = [[1,2,3],[4,5,6],[7,8,9],['*',0,'#']] l = [[1,4,7,'*'],[2,5,8,0],[3,6,9,'#']] for i in range(len(..
[프로그래머스] 숫자 문자열과 영단어 (python) 문제링크 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 내 풀이 import re def solution(s): l = ['zero','one','two','three','four','five','six','seven','eight','nine'] for i, k in enumerate(l): s = re.sub(k, str(i), s) return int(s) 피드백 없음
[프로그래머스] 신규 아이디 추천 (python) 문제링크 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 내풀이 import re def solution(new_id): s = new_id[:] # 1 s = s.lower() # 2 s = re.sub("[^a-z0-9-_.]","",s) # 3 s = re.sub("\.+",".",s) # 4 s = re.sub("^\.|\.$","",s) # 5 if s == "": s = "a" # 6-1 i..
[python] 정규식 정리 (re) - 스크랩 라이브러리 불러오기 import re 메타문자 [ ] 문자클래스 [ ] 사이의 문자들과 매치 - [From - To] ex) [a-zA-Z] = 알파벳 모두 [0-9] = 모든 숫자 \d 숫자 = [0-9] \D 숫자가 아닌 것 = [^0-9] \s 공백 = [ \n\t\r\f\v] \S 공백이 아닌 것 = [^ \n\t\r\f\v] \w 문자+숫자+_ = [a-zA-Z0-9_] \W 문자+숫자+_가 아닌 것 =[^a-zA-Z0-9_] \ 이스케이프 \와 함께 사용하면 일반 문자로 인식된다. . \n를 제외한 모든 문자 . = 모든 문자 [.] []안에 .을 넣을 경우 그냥 '.'으로 인식 [.] = 온점. | or ^ [] 바깥에 있을 경우 문자열의 시작과 매치 re.MULTILINE과 함께 쓰인다면 ..
[프로그래머스] 신고 결과 받기 (python) 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/92334?language=python3 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 내풀이 def solution(id_list, report, k): #key : id, #value : 그 id가 신고한 ID list(중복빼고 담음) rtr_dict = dict(zip(id_list, [[] for _ in range(len(id_list))])) #key : id, #value : 그 id가 ..
[python] 헷갈리는 list comprehension, 자주 실수하는 dict 코딩테스트 문제를 풀다보면 list comprehension 문을 자주 사용하는데 조건문과 섞어 쓰다보면 오류가 날 때가 있다. if문만 쓸 때와 if, else 구문 쓸 때 오는 위치가 달라진다. 또 dict 다룰 때 내가 자주 실수하는 것 정리 ! 코드로 알아보자. 첫 번째 : dict 할 때 실수 id_list = ["muzi", "frodo", "apeach", "neo"] # dict.fromkeys로 dict를 만들 때 d_num = dict.fromkeys(id_list, 0) d_list = dict.fromkeys(id_list, []) d_num['muzi'] += 1 # {'muzi': 1, 'frodo': 0, 'apeach': 0, 'neo': 0} d_list['muzi'].ap..