목록Algorithm/Python
반응형
(29)
s5unnyjjj's LOG
프로그래머스사용 언어: Python문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다. ▶ 처음에 본 문제를 보고 단순하게 아래와 같이 코드를 작성하였다.def solution(players, callings): for calling in callings: idx = players.index(calling) change_name = players[idx-1] ..
프로그래머스사용 언어: Python문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다. ▶ 처음에 본 문제를 보고 자르는 위치에 따라 왼쪽 오른쪽의 고유값 개수가 같으면 +1 씩하는 것이니, 위치를 인덱스로 보아서 처음부터 끝까지 완전 탐색해보려하였다. 하지만 문제 조건에서 topping의 길이가 1,000,000인것을 보고 완전탐색을 하게되면 시간초과가 날 것이라고 생각되어 이분탐색을 생각하..
프로그래머스사용 언어: Python문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다.▶ 아래 코드처럼 배열을 사용하게 되면 시간초과가 뜬다. 왜냐하면 enemy 배열 길이의 최대가 1,000,000이며 이렇게 긴 배열 내에서 max함수를 사용하여 최대값을 찾게되면 시간소요가 많이 된다.def solution(n, k, enemy): answer = 0 heap = [] sum..
프로그래머스사용 언어: Python문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다.▶ 할인율이 10,20,30,40으로 고정되어있기에 할인율 조합 후보군을 모두 생성한 다음, 각각의 후보에 대해서 계산하여 조건에 맞는 답을 리턴하도록 하였다. 할인율이 고정되어있기에 쉬운 문제인 것 같다. 코드는 아래와 같다.def solution(users, emoticons): answer = []..
프로그래머스 사용 언어: Python 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/160585# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다. ▶ 문제에 주어진 테스트 케이스랑 문제에 작성된 "규칙을 어기는 실수"에 해당하는 부분을 고려하여 작성하였다. def check_winning(board): win_O, win_X = 0, 0 if board[0][0] == board[1][1] == board[2][2]: if board[0][0..
프로그래머스 사용 언어: Python 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다. ▶ 처음 문제를 보고 DFS 구현을 떠올려서 DFS 알고리즘을 아래와 같이 구현하였다. direct = [[0, 1], [0, -1], [1, 0], [-1, 0]] def moving(pos, di, board): lenY, lenX = len(board), len(board[0]) cx, cy =..
프로그래머스 사용 언어: Python 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/172927# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다. ▶ 문제에서 피로도가 누적됨에 따라 합산되는 값 중 최소 값을 구한다는 것을 보자마자 DFS 구현을 떠올렸다. 처음에는 아래와 같이 작성해보았다. mins = {'diamond': 0, 'iron': 1, 'stone': 2} tired = [[1, 1, 1], [5, 1, 1], [25, 5, 1..
프로그래머스 사용 언어: Python 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다. ▶ 처음에는 아래와 같이 작성해보았다. def solution(sequence, k): answer = [] start_idx = 0 end_idx = len(sequence) for idx, value in enumerate(sequence[1:]): while True: end_idx = (idx..