본문 바로가기

전체 글

(351)
[고득점 kit]_탐욕법_#1. 체육복 (문제 설명) 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함..
[프로그래머스 고득점 kit] 완전탐색 #3_카펫 (문제 설명) Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보..
문자열 관리 팁 - 1. 배열안에 값을 제거하면서 탐색하는 과정에서의 인덱스 에러의 슬기로운 처리 방법 (단순 처리 방법) - 인데스 초과 확률 多 for i, ticket in enumerate(tickets): # 마지막 방문 공항(answer[-1])과 이번 티켓의 출발 공항(ticket[0])이 같으면 # print(i, ticket) start, desc = ticket[0], ticket[1] if start == answer[-1]: # 이렇게 해당 ticket 배열이 필요가 없다고 판단 되고 # 만약 또 값은 값을 순회하게 되면 문제를 해결하는데 # 방해가 되기 때문에 삭제를 할 경우 # 위 방법으로 직접적으로 삭제를 하고 순회하는 식으로 문제를 풀면 인덱스 에러가 나기 쉽다. # 만약 해당 인데스의 재방문를 피하고 싶다면 재귀를 이용해보자 del tickets[i] # 기타하 내가 할 작업..
[프로그래머스 고득점 kit] 완전탐색 #2_소수찾기 ( 문제 설명 ) 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예numbersreturn "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [11..
딕셔너리 이용 팁 - 1. 문자열형태의 키를 만드는 유용한 방법 !딕셔너리 이용 팁! dic = {} dic['ICN'] = dic.get('ICN', []) (실행 결과) {'ICN': []} 이렇게 편리하게 문자열의 key를 만들 수 있다 value를 추가하는건 += 로 간단하게 할 수 있다 dic1['ICN'] += ['ABC'] (실행 결과) {'ICN': ['ABC']} 요약 이렇게 문자열 key를 만드는 방법을 알아보았다
[프로그래머스 고득점 kit] 완전탐색 #1_모의고사 ( 문제 설명 ) 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5,... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5,... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5,... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 ..
react 복습 일지- 1 - npm start 오류 ERROR in Plugin "react" was conflicted between "package.json » eslint-config-react-app 위의 오류가 발생 시 해결 방법. 다음과 같은 에러 메시지 발생 시 해결 방법 1. package.json 파일을 열고, Ctrl + S 로 저장 2. eslint-config-react-app 버전을 6으로 낮춰보기 // 현재 버전 삭제 yarn remove eslint-config-react-app // versin6 으로 다운그레이드 설치 yarn add eslint-config-react-app@6
[고득점 kit] 프로그래머스 코딩테스트 연습 - [힙] - #3. 이중우선순위 큐 (문제 설명) 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭..

728x90