본문 바로가기
반응형

Min6

[프로그래머스] 바탕화면 정리 Python 풀이 문제 문제가 매우 길어서 링크로 대체하고 설명을 쓰겠다. https://school.programmers.co.kr/learn/courses/30/lessons/161990 바탕화면에 파일이 여러 개 있는데 이를 한 번에 묶을 수 있는 최단 루트를 구해서 좌측상단, 우측하단의 좌표를 구하면 된다. 구현 문제를 그대로 따라가면서 시간복잡도를 최소화하려면 구현이 복잡해진다. 좌측 상단에서 거리가 0인 포인트 부터 시작해서 파일을 찾아야 한다. [0,0] [1,0], [0,1] ...... 이렇게 해서 아래와 오른쪽에 동시에 있다면 그 점을 넣고 우측하단에서도 같이 하면 된다. 하지만 이 문제는 레벨 1이라 파일 위치가 복잡하지 않기 때문에 모든 파일을 찾아서 모두 x,y좌표가 들어있는 배열에 더해주고 최대,.. 2023. 4. 6.
[프로그래머스] 최소 직사각형 Python Code 당분간은 파이썬만 풀어보려고 한다. 프로그래머스의 최소직사각형을 Python으로 풀어보겠다. 문제 문제는 이렇다. 매우 쉬워보이지만 함정은 명함을 돌려서 수납할 수 있다는 것이다. 구현 구현은 생각만 쉽게 한다면(?) 쉽게 구현할 수 있다. w, h를 구분하지 말고 큰 것을 maxbig, 작은 것을 maxsmall로 두고 비교하며 업데이트 하면 된다. w, h를 구분하다가는 로직이 어려운 문제가 될 수 있다. 코드 def solution(sizes): answer = 0 maxbig =0 maxsmall =0 for w, h in sizes: if h > w: maxbig = max(maxbig, h) maxsmall = max(maxsmall, w) else: maxbig = max(maxbig, w).. 2022. 8. 27.
[프로그래머스] 폰켓몬 Javascript Code 2022.07.29 - [Coding Test/Python] - [프로그래머스] 폰켓몬 Python 3 Code 2022.07.29 - [Coding Test/C++] - [프로그래머스] 폰켓몬 C++ Code 이번엔 이 문제를 JS로 풀어보겠다. 문제 풀이 이전에 풀면서 얻은 모든 팁을 여기 부어보려고 한다 set과 min을 동시에 썼다. function solution(nums) { const arr = [...new Set(nums)]; return Math.min(arr.length, nums.length/2) } 2022. 7. 29.
[프로그래머스] 폰켓몬 Python 3 Code 이번에도 프로그래머스 스쿨 추천 문제 중 하나인 폰켓몬을 풀어보겠다. 문제 예시 Code 구현은 중복을 지우는 set를 써서 포켓몬 종류를 구한 뒤 len과 비교하여 더 작은 것을 정답으로 리턴하게 했다. def solution(nums): answer = 0 if(len(nums)/2) > len(set(nums)): answer = len(set(nums)) else: answer = len(nums)/2 return answer 간결하게 짰다고 생각했는데 역시 파이썬은 기능이 많은 것을 활용해야 한다는 것을 아래 코드에서 느꼈다. def solution(ls): return min(len(ls)/2, len(set(ls))) min을 사용하면 이렇게 한 줄로 구현할 수 있다. 2022. 7. 29.
반응형