알고리즘 문제 풀이/프로그래머스

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 타겟 넘버 - python[BFS]

[level 2] 타겟 넘버 - 43165 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 10.3 MB, 시간: 1.50 ms 구분 코딩테스트 연습 > 깊이/너비 우선 탐색(DFS/BFS) 채점결과 Empty 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 전력망을 둘로 나누기 - python[DFS, 위상정렬]

[level 2] 전력망을 둘로 나누기 - 86971 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 10.4 MB, 시간: 54.22 ms 구분 코딩테스트 연습 > 완전탐색 채점결과 Empty 문제 설명 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 피로도 - python[DFS]

[level 2] 피로도 - 87946 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 10.2 MB, 시간: 0.09 ms 구분 코딩테스트 연습 > 완전탐색 채점결과 Empty 문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 숫자 문자열과 영단어 - python[문자열]

문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력으로 아래와 같이 문자와 숫자가 섞인 형태로 입력이 들어옵니다. 우리는 입력으로 들어온 문자열을 아래 result와 같은 정수형으로 변환하여 반환해주어야 합니다. 구현과정 문자 : 숫자를 dict형태로 미리 저장해 두고(하드코딩) 문자열을 for문으로 하나씩 읽어 들여 숫자라면 바로 answer에 더해준다. 숫자가 아니라면 temp 문자열 변수에 값을 추가해 주고 tenp가 nums..

알고리즘 문제 풀이/프로그래머스

[프로그래머스] 신고 결과 받기 - python[Hashing]

문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 구현 과정 설계 과정 신고할 경우 정지당한 사람에게 메일이 가는 것이 아니라 신고한 사람에게 당신이 신고한 사람이 정지가 되었다고 메일이 가야하는 구조 자료구조는 dictinary를 기반으로 가져가는 것이 좋을듯함. d_list로 for문을 돌려 딕셔너리를 생성한다. report를 한바퀴 돌려서(신고당한 사람에 초점을 맞춘다) 각 사람별 신고된 횟수를 저장한다.(중복 신고되지 않게 해야..

알고리즘 문제 풀이/프로그래머스

프로그래머스 정수 삼각형

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제풀이 DP 문제로 현재 위치에 가장 max 값을 넣어서 가장 마지막 줄에 max값을 구하면 되는 문제였다. 아이디어는 금방 떠올랐으나 if문을 더 적게 사용하는 방법을 고민하다 보니 시간이 좀 더 걸렸다.(결국 처음 생각한대로 작성함) def solution(triangle): lst = [] for layer in triangle: if len(layer)== 1 :..

알고리즘 문제 풀이/프로그래머스

프로그래머스 점프와 순간 이동

문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12980 문제 설명 문제 풀이 - 처음에는 현재 위치에서 +1 칸을 이동하고 count도 1증가시키거나 *2칸을 이동하고 count는 증가시키지 않도록 하여 큐에 추가하는 방식인 BFS로 풀었으나 시간초과가 발생했다. from collections import deque def solution(n): ans = n queue= deque([(1,1)]) while queue: val = queue.popleft() if val[1] >=n : continue if val[0] >n: continue elif val[0] == n : if val[1] < ans: ans = val[1] qu..

알고리즘 문제 풀이/프로그래머스

프로그래머스 구명보트 파이썬

문제링크 :https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 처음 문제를 접했을 때 최대 무게가 고정되어 있기에 Greedy임을 파악하여, 정렬 후 앞뒤 값을 비교하여 제거하는 방식을 사용하였다. 내 코드 from collections import deque def solution(people, limit): answer = 0 people = deque(sorted(people)) while len(people)>1: answer +..

잘잔디
'알고리즘 문제 풀이/프로그래머스' 카테고리의 글 목록 (7 Page)