목록Algorithm/프로그래머스(programmers) (9)
Hippo's data
프로그래머스(Programmers) 올바른 괄호 문제 난이도 : Level 2 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 레벨2의 제법 난이도 있는 문제지만 2가지 방법으로 쉽게 해결할 수 있다 1. 스택구조 활용 2. 등장횟수 기록 1. 스택구조 활용 먼저 스택(stack)구조를 이용하여 문제를 수월하게 해결할 수 있다 ( 기호가 들어온 후 ) 기호가 들어오면 ( 기호를 지우는 과정을 반복한 후 스택에 남은 기호가 없으면 올바르게 매칭 ..
프로그래머스(Programmers) 완주하지 못한 선수 문제 난이도 : Level 1 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 각 리스트를 반복하면서 participant에서 completion를 빼줬다 def solution(participant, completion): answer = '' for i in completion: if i in participant: participant.remove(i) answer = ''.join(..
프로그래머스(Programmers) 크레인 인형뽑기 게임 문제 2019 카카오 개발자 겨울 인턴십 문제 난이도 : Level 1 https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 뽑힌 인형 보관을 스택구조를 활용하여 쉽게 계산할 수 있습니다 def solution(board, moves): answer = 0 # 뽑힌 인형 저장할 빈 스택 정의 stack = [] # move 반복 / i는 각 번호 칸 위치 for i in moves: # num..
프로그래머스(Programmers) K번째수 문제 난이도 : Level 1 https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 기본적인 배열구조의 문제이다 ## 문제상 숫자 번호는 인덱스 번호보다 +1 이기 때문에 이를 주의해야함 예) 2번째 번호는 인덱스 번호로 1번 이므로 i-1번째 인덱스이다 def solution(array, commands): # 답을 저장할 리스트 생성 answer = [] # 반복문 이용해서 각 원소 접근 for i,j..
프로그래머스(Programmers) 컨트롤 제트 문제 난이도 : Level 0 https://school.programmers.co.kr/learn/courses/30/lessons/120853?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -> 스택구조를 이용하여 쉽게 해결 가능하다 def solution(s): # 공백 기준으로 분할해서 리스트형식으로 만들기 lst = s.split(' ') # 값 저장할 빈 리스트 생성 dap = [] # 반복문으로 Z면 전값 제거 Z 아닐경우 그냥 추가해주기 for i in lst: ..
프로그래머스(Programmers) 큰 수 만들기 문제 난이도 : Level 2 https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2가지 접근방식이 있다 1. 가능한 모든 조합을 구현 후 최대값(max)을 찾기 2. 각 숫자를 순회하면서 가장 큰수를 선택하기 -> greedy 방법 1. 가능한 모든 조합을 구현 후 최대값(max)을 찾기 -> 제한조건에 number가 1,000,000자리 까지 수가 올 수 있으므로 조합을 다 찾는 것은 매우 비효..
프로그래머스(Programmers) 체육복 문제 난이도 : Level 1 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -> greedy 탐욕법 알고리즘 이용 def solution(n, lost, reserve): # 인덱싱 쉽게 하기 위해 전체 학생수 +2 만큼 1이 들어있는 리스트 생성 num = [1] * (n+2) # 체육복 없는 학생 -1 for i in lost: num[i] -= 1 # 여분 체육복 있는 학생 +1 for i i..
프로그래머스(Programmers) 피보나치 수 문제 난이도 : Level 2 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def fibo(n): if n 같은 계산을 여러 번 반복 -> 시간 복잡도가 지수적(O(2^n))으로 증가 시간복잡도를 줄여서 더 효율적인 for문을 사용해서 구현해 보았습니다! def fibo(n): a, b = 0, 1 for i in range(n): a, b = b, a + b return a def solut..