본문 바로가기

알고리즘/프로그래머스22

[프로그래머스] 무지의 먹방 라이브 문제https://school.programmers.co.kr/learn/courses/30/lessons/428911번 음식부터 오름차순으로 1초씩 음식을 먹음K초 후 몇 번 음식을 먹고 있는가?더 섭취할 음식이 없다면 -1 반환하기 주요 아이디어{음식번호 : 소요시간} 딕셔너리 형태로 저장오름차순으로 돌려가며 하나씩 빼주고, K초 후를 계산해준다 코드 구현 (Python 3)def solution(food_times, k): answer = 0 # dict 추가 food_dict = {} for idx, time in enumerate(food_times): food_dict[idx] = time idx = 0 # k번 반복 wh.. 2024. 6. 25.
[프로그래머스] 요격 시스템 문제https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   주요 아이디어이전에 풀었던 "단속 카메라" 문제와 동일한 로직으로 풀 수 있다개구간 끝 (e) 을 기준으로 정렬각각의 미사일 구간을 탐색하며, 구간 요격이 가능한지 판단하고 안될 경우 미사일 한 대씩 추가  코드 구현 (Python 3)더보기 def solution(targets): answer = 0 targets.sort(key = lambda x: x[1]) mi.. 2024. 6. 25.
[프로그래머스] 단속 카메라 문제https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  주요 아이디어유형만 알아두면 정말 쉬운 문제!비슷한 문제로 프로그래머스 요격 시스템이 있다[진입 시점, 진출 시점]을 입력 받고, 모든 차량이 한 번씩 단속카메라를 만나도록 할 때 최소 몇 대를 설치해야 할까?자동차가 도로에서 사라지는, 진출 시점을 기준으로 정렬카메라를 한 대씩 추가하면서 현재까지 설치된 단속 카메라의 범위를 갱신해주기  코드 구현 (Python 3)더보기 def solutio.. 2024. 6. 25.
[LeetCode] Add Two numbers 문제https://leetcode.com/problems/add-two-numbers/description/leetcode 사이트의 문제는 처음 풀어본다! 신기...백준은 자유형식, 프로그래머스는 함수 형태로 초기 포맷이 주어진다면, 여기에서는 class 형태로 기본 포맷이 주어진다는 게 가장 특이한 점인듯  주요 아이디어문제가 영어지만(...) 풀이 과정 자체는 굉장히 간단한 편!음수가 아닌 수만 담겨있는 2개의 linked list를 입력 받고둘을 합한 수가 담긴 linked list 반환하기  코드 구현 (Python 3)더보기 # Definition for singly-linked list.class ListNode: def __init__(self, val=0, next=None): .. 2024. 6. 25.
[프로그래머스] 문자열 압축 문제https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  주요 아이디어몇 개 단위로 압축할 지 순회하기제일 앞부터 정해진 길이만큼 잘라야 함  코드 구현 (Python 3)더보기 def solution(s): # 맨 처음에는 문자열 원래 길이 (압축 안됐을 때) answer = len(s) # 1~n-1 길이로 자르기 for length in range(1, len(s)): comp_str = '' .. 2024. 6. 25.
[프로그래머스] 거리두기 확인하기 문제https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  주요 아이디어대기실에 있는 모든 응시자들이 맨해튼 거리 2 초과로 앉아있거나 / 응시자 사이가 파티션으로 막혀있는지를 판단하는 문제이다.모든 강의실 자리를 서칭하면서, 하나라도 예외가 존재하면 return 0 / 존재하지 않을 경우 return 1BFS 방식으로 모든 응시자의 자리로부터 맨해튼 거리 2 이내에 파티션을 사이에 두지 않은 응시자가 존재하는지 확인  코드 구현 (Python 3)더보.. 2024. 5. 21.