목록level2 (21)
DecordRay
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. numbers에 있는 원소들을 str 형태로 변환해서 str_arr 리스트에 저장 2. 문자열 원소를 3번 반복해서 이어붙인 후 사전 순으로 내림차순 정렬 why? - [34, 30, 3]을 정렬할 경우 [343434, 333, 303030]이 되므로 [34, 3, 30] 순으로 원하는 결과가 나오기 때문 (int형 크기 비교가 아닌 문자열 사전순 배열이기 때문) 3. 정렬..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 문자열을 활용한 구현 문제 1. userid에 해당하는 nickname을 저장하기 위한 딕셔너리 생성 첫번째 for 문 2. Enter일때 userid에 해당하는 nickname을 dic[userid]에 저장 3. Change일때 userid에 해당하는 nickname을 dic[userid]에 저장(최신화) 두번째 for 문 4. Enter일때와 Leave일때만 해당하는 user..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 사실 문제 자체는 스택/큐로 분류되어 있지만 스택, 큐가 아닌 기본 리스트를 사용해도 시간초과가 발생하지 않는 문제 1. 매 원소마다 다음 원소부터 마지막까지 반복문을 통해 값을 비교하여 prices[i]와 prices[j]를 비교 2. prices[i]와 prices[j]를 비교 시 prices[i]가 prices[j]보다 작거나 같은경우 temp+1 후 반복 3. prices..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제한 사항 : k는 1 이상 5,000 이하인 자연수입니다. dungeons의 세로(행) 길이(즉, 던전의 개수)는 1 이상 8 이하입니다. dungeons의 가로(열) 길이는 2 입니다. dungeons의 각 행은 각 던전의 ["최소 필요 피로도", "소모 피로도"] 입니다. "최소 필요 피로도"는 항상 "소모 피로도"보다 크거나 같습니다. "최소 필요 피로도"와 "소모 피로도"는 1 ..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 입력으로 받은 scoville 리스트를 힙(최소힙)으로 변환 2. 무한 루프 실행 종료 조건 2가지 1. 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우 scoville리스트의 원소가 1개이고, 첫번째 원소가 K보다 작으면 chk=False 저장 후 종료 2. 모든 음식의 스코빌 지수를 K 이상으로 만들 수 있는 경우 n1(첫번째 원소)이 K보다 크거나 같으면 종..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 사전 초기화 2. 현재 입력부터 한 문자씩 이어붙인 문자열이 사전에 없을때까지 반복문 진행(내부 반복문) 3. 2번에서 temp2에 저장한 사전에 없는 문자열을 사전에 추가 4. temp에 저장된 문자열(현재 입력으로부터 사전에 있는 가장 길이가 긴 문자열)을 answer 리스트에 추가 + 추가적인 설명은 주석 참고 코드 : def solution(msg): answer =..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 소수 판별을 위한 함수 정의(에라토스테네스의 체) 2. k진수로 변환 3. k진수로 변환한 값을 0을 기준으로 나누어서 소수 판별 * Tip - 소수 판별간 에라토스테네스의 체를 사용하지 않으면 시간초과가 발생함(테스트 케이스 1번 실패요인) 코드 : import math def solution(n, k): def find_prime(num): # 소수 판별 함수(에라토스테..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 그리디 문제로 귤의 크기에 따른 개수를 세어준 후 개수가 많은 것부터 세어주어야한다. 2. 리스트에 담겨있는 귤의 크기를 오름차순 정렬 후 귤의 크기에 따른 개수를 count_list에 저장 3. count_list의 원소들을 내림차순 정렬(개수가 많은 것부터 세어줘야 하므로) 4. k개 만큼 귤의 개수를 세어줌(코드 주석 참고) 코드 : def solution(k, ta..