본문 바로가기

프로그래머스172

[프로그래머스 lv 2] H-Index 사용 언어 - Python3 문제 - H-Index 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 인덱스와 값 비교 정렬 문제 (정답 맞춘 여부 X) 내 정답은 테스트11,16에서 실패가 나왔다.. 근데 그 이유를 못찾았다.ㅠㅠ def solution(citations): for i in range(max(citations)): # i 인용 횟수 answer = 0 for c in citations: if c >= i: # 해당 논문이 인용 횟수 이상인 경우 answer += 1 # 논문 개수 세기 if answer == i: #3편의 논문이 3회 .. 2023. 1. 27.
[프로그래머스 lv 2] 가장 큰 수 사용 언어 - Python3 문제 - 가장 큰 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 ASCII 문자열 숫자간 크기 비교 정렬 문제 (정답 맞춘 여부 X) 정답 풀이 1. numbers를 str로 바꾼뒤, list 형태로 입력받는다. 2. 6, 10, 2의 크기를 비교한다. 원래 숫자에서 비교하면 10>6>2 이지만, "1062"은 가장 큰 수가 아니다. 문자열 ASCII 값으로 비교했을 때 가장 숫자가 큰 값, 6>2>1 순서대로 해야 "6210" 가장 큰수가 나온다. x*3 각각의 문자열을 3번 반복한다. 666, 101010, 222.. 2023. 1. 27.
[프로그래머스 lv 1] K번째수 사용 언어 - Python3 문제 - K번째수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 간단한 정렬 인덱싱 문제 (정답 맞춘 여부 O) 정답 풀이 1. commands의 1,2,3번째 원소를 각각 i,j,k로 입력받았다. 2. 리스트를 sort()한후 answer 빈리스트에 append했다. def solution(array, commands): answer = [] for p in range(len(commands)): i = commands[p][0] j = commands[p][1] k = commands[p][2] array1 = arr.. 2023. 1. 27.
[프로그래머스 lv 2] 타겟 넘버 사용 언어 - Python3 문제 - 타겟 넘버 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 DFS 문제 (정답 맞춘 여부 X) 정답1 풀이 - dfs 문제 1. answer = 0 정답개수 세는 변수 2. dfs 인자 정의 depth = 사용한 숫자개수. 왼쪽숫자부터 한개씩 꺼내서 연산한다. 0에서 시작해서 len(numbers)가 될때까지 반복 numbers = 리스트형태의 input값 target = 숫자형태의 input값 total = 값을 계산한 결과. total이 target과 같다면 정답개수에 추가해준다. 3. 재귀적으로 반복 dfs를.. 2023. 1. 27.
[프로그래머스 lv 2] 주식가격 사용 언어 - Python3 문제 - 주식가격 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 for문 반복문 or 스택/큐 문제 (정답 맞춘 여부 X) 정답1 풀이 - 이중 반복문 1. answer = 0벡터 2. i = [0,1,2,3,4] / j = [1,2,3,4] 하나씩 값 비교하면서 answer[i] +=1 def solution(prices): answer = [0]*len(prices) for i in range(len(prices)): for j in range(i+1,len(prices)): if prices[i] 2023. 1. 26.
[프로그래머스 lv 2] 다리를 지나는 트럭 사용 언어 - Python3 문제 - 다리를 지나는 트럭 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 다리 위에 있는 트럭의 위치를 알아야하는 스택/큐 문제 (정답 맞춘 여부 X) 정답 풀이 - sum 연산은 O(N)으로 시간이 느리다. 한개의 테스트케이스에서 시간 초과로 오답! 1. 변수 정의 sec = 경과 시간 / q = bridge_length 다리길이만큼의 0 리스트 = 다리에 있는 트럭 입력받는 리스트 sec 경과시간은 한번 q.pop(0)로 리스트 맨 앞을 삭제한다. 2. 다리에 올라갈 수 있는 if문 현재 다리에 있는 트럭의 무게 합.. 2023. 1. 26.
[프로그래머스 lv 2] 프린터 사용 언어 - Python3 문제 - 프린터 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 인덱스와 원소를 함께 고려하는 큐 문제 (정답 맞춘 여부 X / 코드 풀이) 1. enumerate() 인덱스와 원소를 동시에 접근하여 큐를 만든다. priorities = [2,1,3,2] 인 경우, queue = [(0,2),(1,1),(2,3),(3,2)] 가 된다. 2.큐의 맨 왼쪽 값을 cur에 저장한다. cur = (0,2) 3.1. any() 사용하여 cur[1] < q[1]인 경우가 하나라도 있으면 cur를 큐에 append한다. 2보다 더 중요.. 2023. 1. 26.
[프로그래머스 lv 2] 올바른 괄호 사용 언어 - Python3 문제 - 올바른 괄호 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 간단한 스택 문제 (정답 맞춘 여부 O / 코드 풀이) 앞서 백준 9012번을 풀었어서 쉽게 풀었다. [Python3] 백준 9012번 괄호 9012번: 괄호 (실버4, 스택) 문제 ★스택 문제★ 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르 rladuddms.tistory.com # 내 정답 def solution(s): .. 2023. 1. 25.
[프로그래머스 lv 2] 기능개발 사용 언어 - Python3 문제 - 기능개발 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 스택 문제 (정답 맞춘 여부 O / 코드 풀이) 100-progresses/speeds를 올림하여 finishday라는 리스트에 저장한다. 이때, 올림은 import math의 ceil 함수를 사용했다. 예) progresses = [93,30,55], speeds = [1,30,5]일 경우, finishday = [7,3,9]가 된다. 첫번째 finishday[0]을 먼저 stack 에 넣어준다. finishday[1]부터 max(stack)과 비교해준다... 2023. 1. 25.
[프로그래머스 lv 1] 같은 숫자는 싫어 사용 언어 - Python3 문제 - 같은 숫자는 싫어 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 스택/큐 문제 (정답 맞춘 여부 O / 코드 풀이) answer에 arr의 첫번째 값을 먼저 append해준다. arr의 두번째 값부터 앞서 저장된 answer의 마지막 값과 비교해주면서 answer에 append한다. # 내 정답 def solution(arr): answer = [] answer.append(arr[0]) for num in arr[1:]: if answer[-1] != num: answer.append(num) return an.. 2023. 1. 25.