본문 바로가기

전체 글118

타겟 넘버 (코딩테스트, 프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 나의 코드 import collections def solution(numbers, target): answer = 0 answer_list=collections.deque([numbers[0],-numbers[0]]) for i in numbers[1:]: for j in range(len(answer.. 2022. 1. 19.
코딩테스트 문제 : 거리두기 확인하기 (프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 나의 코드 import collections ways = [[0,-1],[1,0],[.. 2022. 1. 13.
파이썬 format함수 코딩테스트를 연습할 때 재귀호출을 하는 경우가 많다. 자신이 의도한 대로 데이터가 잘 전달되는지 확인하는데 유용한 함수 중 하나가 format함수이다. '{}'.format(데이터) 식으로 사용할 수 있다. 작은따옴표, 큰따옴표안에 {}를 적고 format에 {} 갯수만큼 전달하면 치환되는 형식이다. 예시 결과 {} 와 인수 순서대로 치환된다. 2022. 1. 5.
피로도 파이썬(프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 나의 코드 def solution(k, dungeons): return search(k,dungeons,0) def search(k,list_d,count): #print('피로도 : {} 탐색한 던전 수: {} 남은 던전: {}'.format(k,count,list_d)) count_list=[count] for i in range(len(list.. 2022. 1. 5.
삼각 달팽이-파이썬 (프로그래머스) 문제 설명은 아래 링크를 통해서 https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 나의 풀이 방법 빨->파->검 순으로 보면 6개->5개->4개->3개->2개->1개 식으로 방향이 돌아간다. 처음 시도 n=4일 때 필요한 숫자들은 [1,2,3,4, - - -,{n+(n-1)+ ----+1}] number_tmp리스트에 저장한다. 또한 처음 n개 원소를 묶고, 그다음 n-1개 원소를 묶고...... 마지막 1개를 묶을 .. 2021. 12. 30.
순위검색 파이썬 (프로그래머스) https://programmers.co.kr/learn/courses/30/lessons/72412 처음 테스트는 통과 했으나 모든 테스트 런타임 에러 발생 def solution(info, query): answer=[] new_info=[] new_query=[] for i in info: new_info.append(i.split(' ')) new_info[-1][-1]=int(new_info[-1][-1]) for i in query: tmp=i.split(' and ') a,b=tmp[-1].split(' ') tmp[-1]=a tmp.append(int(b)) new_query.append(tmp) for i in new_query: count=0 #사람수 for j in new_info: .. 2021. 12. 28.