본문 바로가기

Python40

[프로그래머스] lv.2 피로도 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS ans = 0 N = 0 v = [] def dfs(k, cnt, dungeons): global ans if cnt > ans: ans = cnt for j in range(N): if k >= dungeons[j][0] and v[j] == 0: v[j] = 1 dfs(k-dungeons[j][1], cnt+1, dungeons) v[j] = 0 def solution(k, dungeo.. 2022. 7. 10.
[프로그래머스] lv.2 양궁 대회 https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 풀이 다른 사람의 풀이 보니까 DFS로 풀었던데 난 비트를 이용해서 풀었다. 총 점수는 점수*화살 수가아니라 한 점수구간에 1발이상 맞히면 그 점수이다. + 총점이 아니라 점수차가 크도록 해야한다. 이 부분때문에 헤맸다.. 1에서부터 1111111111(11자리. 2047)까지 돌리는데, 1이 해당하는 점수는 최소 1발이상 맞힌 것으로해서 점수 차를 구한다. 최소 1.. 2022. 6. 12.
[프로그래머스] lv.1 신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 나의 풀이 import re def solution(new_id): new_id = new_id.lower() new_id = re.sub('[~!@#$%^&*\(\)=+\[\{\]\}:?,\\/]', '', new_id) new_id = re.sub('\.+', '.', new_id) new_id = new_id.strip('.') new_id = 'a.. 2022. 5. 24.
[프로그래머스] lv.1 부족한 금액 계산 https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 1~n 까지의 합은 n*(n+1)/2 이다. 이 공식으로 cnt를 구했고, 여기에 price를 곱해 cost를 구한다. def solution(price, money, count): answer = -1 cnt = count*(count+1)/2 cost = price*cnt answer = cost - money if answer 2022. 5. 24.
[프로그래머스] lv2 괄호 변환 https://programmers.co.kr/learn/courses/30/lessons/60058?language=python3 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 풀이 문제 설명에 나온 대로 구현했다. isbal 은 균형잡힌 문자열인지 확인한다. flag가 음수라면 균형잡히지 않은 문자열이다 uv 는 u와 v 로 나누는 함수이다. flag가 0이되면 u와 v로 나눈다 def isbal(p): flag = 0 for i in range(len(p)): if p[i] == '(': flag += .. 2022. 5. 10.