본문 바로가기
반응형

sorted6

[프로그래머스] 요격 시스템 python 풀이 문제 이 입출력 예 설명을 보면 이해하기 쉬울 것이다. 구현 레벨 2로 되어 있지만 쉬운 문제다. 먼저 미사일을 정렬하는데 미사일이 끝나는 순서로 정렬을 한다. 그 후 제일 빨리 끝나는 미사일의 시작지점이 기존 요격지점보다 크다면 미사일을 요격하고 그 끝나는 지점을 저장한 후 answer에 1을 더해준다. 말로 하기에는 설명이 어려운데 코드로 보면 이해가 쉬울 것이다. 코드 def solution(targets): answer, end = 0, 0 for s, e in sorted(targets, key = lambda x : x[1]): if s>=end: end = e answer += 1 return answer 이렇게 end를 바꿔주면서 정답을 갱신해 주면 되는 쉬운 문제이다. 다른 풀이 아직까지.. 2023. 4. 17.
[프로그래머스] 과제 진행하기 Python 풀이 문제 구현 이 문제는 따로 쉽게 푸는 방법이 없는 것 같아 문제를 그대로 따라가면서 구현을 하면 된다. 우선 기본적으로 plans를 시간순서로 sorting 한 후 시작하는 게 좋다. 코드 def solution(plans): plans = sorted(plans, key=lambda x : x[1]) todostack = [] answer = [] nowtime = 0 beforetime = -1 for i in range(len(plans)): h,m = plans[i][1].split(':') plans[i][1] = int(h)*60+int(m) if i>0: remainingTime = plans[i][1] - plans[i-1][1] if remainingTime - int(plans[i-1].. 2023. 4. 6.
Python 진료 순서 정하기 [코딩테스트 입문 - Day8] 문제 구현 임시 리스트에 내림차순으로 emergency 정렬한 것을 저장한 후 임시 리스트를 돌며 emergency에서 원소를 찾아 인덱스를 찾는다. 코드 def solution(emergency): temp = sorted(emergency, reverse=True) answer = [temp.index(i)+1 for i in emergency] return answer 다른 풀이 위보다 간단하게 푸는 법은 보이지 않지만 약간의 효율성을 더 따진다면 enumerate를 쓴 후 index로 접근하면 된다. def solution(emergency): answer = [] emer_ls = {e: i + 1 for i, e in enumerate(sorted(emergency)[::-1])} for e .. 2023. 2. 15.
[프로그래머스] 멀쩡한 사각형 Python Code 최근에 문제를 많이 풀게 되면서 레벨 1을 다 풀고 이제 2로 넘어왔다. ( 패턴이 겹치는 문제는 안 올렸는데 필요하다면 댓글로 문의 바랍니다. ) 프로그래머스 멀쩡한 사각형을 Python으로 풀어보겠다. 이 문제는 프로그래머스에서 2019년 출제된 코딩 테스트이다. 레벨은 2다. 문제 위와 같이 사각형의 w, h가 주어지면 그 사각형을 대각선으로 자르고 선에 의해 나눠지지 않은 멀쩡한 사각형의 수를 구하면 된다. 구현 맨 처음에 생각하는데 오래 걸렸다. 뭔가 규칙성이 보여서 작게 잘라 생각해봤다. (8,12)의 사각형에서 위와 같은 (2,3)이 나온다. 닮음의 형태에서 반복되는 것을 알 수 있다. 이 형태에서 패턴이 반복하는 횟수는 최대공약수(4)이다. 그렇다면 한 패턴에서 지워지는 사각형 수는 어떻게.. 2022. 8. 29.
반응형