알고리즘/프로그래머스

알고리즘/프로그래머스

[프로그래머스/python] Level 2 : 이모티콘 할인 행사

https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 독해 능력이 중요한 구현 문제이다 ㅋㅋ 읽어보면 알겠지만, 모든 가능한 할인율의 경우의 수를 전부 대입하여 풀어봐야한다. 즉 브루트 포스 + 백트래킹 구현 문제 정도로 생각할 수 있다. 문제 풀이는 다음과 같다. 1. 필요한 변수들을 선언해주고 dfs를 시작한다 2. 할인율의 경우의 수를 기록하는 배열을 sale_board라 할 때, 이 배열이 다 채워지면 cal() 함수를 호출해서 각 경..

알고리즘/프로그래머스

[프로그래머스/python] Level 1 : 크기가 작은 부분 문자열

https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력의 최대 크기가 작아 N^2의 시간 복잡도를 이용해서 풀 수 있지 않을까 고민하다가, 분명 더 쉬운 방법이 있을 것 같은데..? 고민하던 중 팍 떠올랐다! 우선, Index out of range를 방지해주기 위해 p-1까지만 돌려준다. 그리고 만약 p가 3자릿수라면, 3개씩 잘라 배열에 담아준다. (이때 굳이 배열에 담지 않고 바로 비교해도 된다) 그리고 배열에 있는 걸 하나씩 꺼내 p와 ..

알고리즘/프로그래머스

[프로그래머스/python] Level 2 : 택배 배달과 수거하기

https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그리디 문제이다. 예제 풀이를 따라 코드를 작성하면, 아마 시간초과가 발생할 것이다. n이 최대 100,000까지므로 n^2의 시간복잡도로는 문제를 풀 수 없다. 우선, 한번에 최대한 멀리가서 멀리 있는 곳들의 작업을 먼저 끝내야지 이동횟수를 최소한으로 만들 수 있으므로 입력받은 배열들을 역순으로 뒤집어준다. 가장 먼 곳부터 탐색을 시작하는데, 배달해야 하거나 픽업해와야 할 것들이 하나라도 있으..

알고리즘/프로그래머스

[프로그래머스/python] Level 1 : 개인정보 수집 유효기간

https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 꼼꼼히 읽고 그대로 구현만 하면 되는 문제이다. 입력의 형태가 정해져있어 슬라이싱을 이용한 하드 코딩 형태로 문제를 풀어보았다. 아니면 연,월,일을 모두 day로 변환해서 푸는 방법도 있다. 어느 쪽을 선택하던지 연/월/일을 다루는 문제는 본인이 헷갈리지 않는 방법이 최고인 것 같다! def solution(today, terms, privacies): answer = [] nyear =..

beomseok99
'알고리즘/프로그래머스' 카테고리의 글 목록 (4 Page)