알고리즘/프로그래머스 (34) 썸네일형 리스트형 [프로그래머스] 순위 검색 https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석📝 문제요약쿼리가 주어지는데 해당 쿼리에 따라서 몇명이 선택되는지 계산하는 문제이다.개발언어, 직군 항목, 경력구분, 선호하는 소울푸드, 코딩테스트 점수가 쿼리로 주어지고 해당 쿼리에 따라서 몇명이 존재하는지 파악하여 리턴하면 된다.🎯 필요한 개념트라이노드 : 각각의 문자열에 따라서 자식 노드를 만들고 자식노드의 리프노드가 코딩테스트 점수의 리스트를 가지고 있으면 된다.이분탐색 : 코딩.. [프로그래머스] 동굴탐험 https://school.programmers.co.kr/learn/courses/30/lessons/67260 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🤔 문제분석📝 문제요약트리구조로 n개의 방이 주어지고, 방문순서가 주어질때 방문 순서에 따라서 0번인 루트노드로부터 모든 노드까지 주어진 방문 순서에따라서 방문이 가능한지 확인하는 문제이다.🎯 필요한 개념트리에서의 탐색너비우선탐색✅ 알고리즘양방향 그래프임으로 주어진 간선을 초기화 한다.먼저방문해야 할 노드를 기억해준다.0번 노드로부터 탐색을 시작한다.주어진 간선을 통하여 너비우선탐색으로 다음 노.. [프로그래머스] [1차] 추석 트래픽 https://school.programmers.co.kr/learn/courses/30/lessons/17676?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석문제요약9월 15일의 밀리초 단위의 로그가 주어졌을때 1초 동안 트래픽이 제일 많이 걸리는 횟수를 구하는 문제이다.필요한 개념완전탐색 : 모든 구간을 다 탐색해본다.문자열 파싱 : 밀리초 단위로 변환 ( Float 타입 )그리디 : 반드시 특정 endTime 기준으로 + 1 초랑 겹치는 모든 구간을 찾는다.알고리즘주어진 리스트를 밀리초 단위로 시작시간와 끝나는.. [프로그래머스] 광고 삽입 https://school.programmers.co.kr/learn/courses/30/lessons/72414 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석알아야할 개념누적합스트링 타입의 시간을 초 단위로 컨버팅 해주는 함수와, 시간을 스트링 시간으로 컨버팅 해주는 함수를 만들었다.로그를 순회하면서 r_c 배열에 시작시간을 +1 끝나는시간을 -1을 해준다.이제 누적합을 이용해야하는데 p_s 배열에 r_c의 누적값을 저장한다.p_s[end_time-1] - p_s[start_time] 값에 겹치는 로그의 총 개수를 리턴하게 된다.i는 0부터 p.. [프로그래머스] 합승 택시 요금 https://school.programmers.co.kr/learn/courses/30/lessons/72413🤔 문제분석주어진 문제를 풀기위해서는 플로이드 워셜을 알고 있어야한다.임의의 노드로부터 각 임의의 노드까지 모든 최단경로를 구한다.s로 부터 임의의 노드를 들려서(a와 b가 같이 택시를 탐) 각 a, b 노드까지 가는 거리중 최소값을 고르면 된다.물론, n이 300이기 때문에 플로이드 워셜로 접근해도 되지만 만약 n이 더 커질경우 $n^3$ 시간복잡도가 크게 증가 할 수 있다. n이 충분히 커진다면 데이크스트라를 고려하는것도 하나의 방법이 될 수 있겠다.💻 코드import sysdef solution(n, s, a, b, fares): distance = [[sys.maxsize] *.. [프로그래머스] 튜플 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🤔 문제분석데이터를 전처리하고 리스트의 크기 기준으로 정렬한뒤 순회하면서 현재 존재하지 않는 값을 넣어주면 된다.💻 코드def solution(s :str): temp = s.lstrip('{').rstrip('}').split("},{") for i in range(len(temp)): temp[i] = list(map(int, temp[i].split(','))).. [프로그래머스] 호텔 방 배정 https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🤔 문제분석유니온-파인드(서로소 집합) 으로 문제를 접근하면 된다.k개의 수가 매우 크기때문에 기존 리스트를 사용한 접근 방식 대신에 딕셔너리를 활용하였습니다.만약 parent에 해당하는 숫자가 없다면 parent 를 생성하고 v+1 ( 자기자신보다 + 1 큰 노드를 가르키게 만든다)만약 parent에 해당하는 숫자가 있다면 parent의 노드를 재귀적으로 따라가서 parent에 없는 노드까지 따라.. [프로그래머스] 크레인 인형뽑기 https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🤔 문제분석스택자료구조를 활용하여 해결하였습니다.주어진 보드를 문제에서 주어진 그림과 같이 스택 자료구조로 변환한다.원하는 위치에가서 뽑아서 바구니에 집어넣는다.바구니의 마지막 부분에 같은 인형이 온다면 인형을 제거시켜준다.💻 코드def solution(board, moves): bag = [] n = len(board) new_board = [[] for _ in rang.. 이전 1 2 3 4 5 다음