프로그래머스 67

[Python/프로그래머스]순위검색_(KaKao)_[구현,bisect(이분탐색)]

https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 으렵다. 레벨 2인데 이러면 어떡하지..ㅋㅋㅋㅋ 풀이과정 : 1. info를 공백을 기준으로 나눈다. 2. 점수와 나머지들을 각각 value, key로 구분한다. 3. key로 만들 수 있는 모든 조합을 combination을 이용해 만든다. 4. info_dict에 이 조합을 가진 지원자가 있음을 점수를 저장하면서 알려준다. 5. 저장한 점수들은 이분탐색을 이용할 것이므로 정렬해준다. 6. 쿼리..

[Python/프로그래머스]뉴스 클러스터링_(KaKao)_Counter이용

https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 교집합일 때는 min을, 합집합일 때는 max로 하는 걸 어떻게 하지 고민하다가 너무 답답해서 구글링한 문제 그냥 Counter에서 &, |를 하면 해결된단다..... 그 후에 counter에서 elements를 통해서 문자들을 개수 만큼 만들고 그것의 개수를 센다. 코드 : from collections import Counter def solution(str1, str2): str1 = str..

[Python/프로그래머스]튜플_(KaKao)_문제 이해가 잘 안되요

https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221013 문제가 이해가 잘 안되었다. 이게 무슨 소리람? 근데 질문하기에서 한 답변을 보고 이해가 갔다. [] 로 둘러쌓인 튜플은 순서가 달라지면 다른 튜플이지만 튜플로 만든 {}는 내부 순서가 달라져도 괜찮다!! 그러니까 [2,1]은 {1}을 만들 수 없다. [4,1,3,2]은 한자리수 {}로 4밖에 못만든다. 앞에서부터 밖에 못묶는다. 근데 묶고 나서는 그 안에서 순서를 바꿀 수 있..

[Python/프로그래머스]아이템 줍기_(BFS)

https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20220924 테두리 처리 어떻게하지....? 를 생각하다 모르겠어서 구글링했다. 생각보다 간단한 방법을 쓴다. 내부일 경우 0으로 채우고 내부가 아닌경우 0이 아닌지 확인하고(다른 도형의 내부인지) 둘 다 아니면 1을 저장해 모서리라는 것을 알려준다. 그런데 다들 *2를 해서 왜들 이러나... 이해가 안됐는데 아래 참고 블로그를 보고 단번에 이해했다. 경계선이 인접할 경우 의도하지 않은 최..

[Python/프로그래머스]게임 맵 최단거리_(BFS)

https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정말 쉽다. 그냥 BFS from collections import deque dx = [0,1,0,-1] dy = [1,0,-1,0] def solution(maps): q = deque([[0,0]]) n,m = len(maps), len(maps[0]) while q : x,y = q.popleft() for i in range(4) : nx,ny= x + dx[i], y + dy[i] if 0

[Python/프로그래머스]배달_다익스트라

https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221014 전형적인 다익스트라 문제 + 리스트 돌면서 k보다 작은 수 구해 return 하면 된다. 이 문제는 양방향이다!! 양방향인지 단방향인지 잘 보고 해야한다. 코드 : import heapq def dijkstra(distance,mp) : q = [] # dist는 0, node 시작 번호는 1 heapq.heappush(q,[0,1]) distance[1] = 0 while q..

[Python/프로그래머스]양궁대회_Bfs

https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 2022-10-20 라이언이 이기려면 1. (해당 점수에 )어피치보다 많이 쏘기 2. (해당 점수에 쏠 )화살 아껴서 다른 화살에 몰빵하기 이 경우를 나누어서 deque에 넣는다. - 만약 n발 보다 많이 쏘면? continue - 마지막에 쏜다면 남은 화살 다 쏘기 - 만약 n발이라면 lion, apeach의 점수를 구해서 가장 큰 GAP을 만드는 화살의 리스트를 res에 넣기 focus는 ..

[Python/프로그래머스]k진수에서 소수 개수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/92335?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221021 1. k진수로 변환 2. 소수 찾아 개수 구하기 코드 : def solution(n, k): word = "" # k 진수로 변환 while n : word = str(n%k) + word n = n//k word = word.split('0') cnt = 0 for w in word : # 빈공간이라면 if len(w) == 0 : continu..

[Python/프로그래머스]메뉴 리뉴얼

https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 문제 핵심!!! 1. 각 course별로 가장 많이 함께 주문된 메뉴 구성이 반환되는데 만약 여러개라면 모두 배열에 담는다. 그러니까 2개로 묶어진 요리들이 있다면 그 중에서 가장 많이 함께 주문된 메뉴구성으로 return 한다. 만약에 가장 많이 함께 주문된 메뉴 구성이 여러개면 모두 return!! 2. orders는 sort되지않았다. -> sort 해주어야..

[Python/프로그래머스] 숫자 문자열과 영단어 (Level 1)

https://programmers.co.kr/learn/courses/30/lessons/81301?language=python3 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 코드 : def solution(s): answer = "" en = ['zero','one','two','three','four','five','six','seven','eight','nine'] for idx, num in enumerate(en) : if num in s : s = s.replace(num,str(i..