프로그래머스(21)
-
[프로그래머스] 연속된 부분 수열의 합 - python
문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이제 "부분 합"이라는 단어가 나오면 자동적으로 'right까지의 합 - left까지의 합'을 떠올린다. 확실히 매번 합을 구하는 것보다, 먼저 i까지의 합을 계산하고 뺄셈을 이용하는 방식이 효율적이다. 해당 문제는 부분 합이 k가 되는 부분을 찾는 문제이다. 풀이는 간단하다. left, right를 0,0으로 두고 앞서말한 'right까지의 합 - left까지의 합'를 계..
2023.07.11 -
[프로그래머스] 두 원 사이의 정수 쌍 - PYTHON
문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181187# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 기본적으로 가능한 r,c들을 돌면서, 해당 좌표가 두 원 사이에 있는 지 확인하는 방식은 시간초과가 발생한다. 구간을 나누어서 계산해도 마찬가지였다. 해당 문제는 r 에 따른 최대 c를 구하는 방법을 사용해서 계산해야한다. 즉 특정 r에 대해 r1, r2 거리를 가지기 위한 c를 구하고, 'r2에 대한 c - r1에 대한 c' 방법을 활용해야 한다. 피타고라스를 ..
2023.07.11 -
[프로그래머스] 요격 시스템 - python
문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 및 코드 먼저 범위를 살펴보자. targets의 길이
2023.07.10 -
[프로그래머스] 주차 요금 계산 - python
문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 특별한 알고리즘 문제보다는 구현 문제였다. 차별점을 찾자면 무작위로 저장되어 있는 값을 차량별로 값을 구분하여 처리해야 했다는 점이다. 필자는 이를 defaultdict를 이용해서 해결했다. 차량의 주차 시간은 출차시간 - 입차시간 이기에 입차시간은 -로 출차시간은 +로 저장했다. HTML 삽입 미리보기할 수 없는 소스
2023.06.28 -
[프로그래머스] 양궁대회 - python
문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 알고리즘 문제는 풀어도 풀어도 어렵다. 꾸준히 문제 푸는 습관을 들여야 하는데 이게 참 어렵다. 필자는 처음에 knapsack을 이용해서 해결하고자 했다. 하지만 knapsack을 이용해 구하고자 쉽지 않았다. 먼저 knapsack은 기본적으로 제한된 cost내에서 최고의 value를 구하는 알고리즘이다. 따라서 10개의 화살을 이용해 최대 점수를 구한다고만 생각했고 충분히 ..
2023.06.28 -
[프로그래머스] 이모티콘 할인 행사 - python
문제보기 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 해당 문제는 단순한 구현 문제였다. 30분 정도 안에 풀어야 할 거 같은데 변수지정을 잘못해 약간 헤맸는데 1시간 조금 안걸렸다. 아직 갈 길이 멀다.. 이모티콘 개수가 7개로 적기 때문에 필자는 itertools에 product(중복순열)를 사용했다. 최대 7^4이니 그리 크지 않을 거라고 판단했다. 만일 수가 컸다면... dfs/bfs를 이용하지 않았을 까 싶다. HTML ..
2023.05.11