목록분류 전체보기
반응형
(86)
s5unnyjjj's LOG
LeetCode사용 언어: Python문제 링크: https://leetcode.com/problems/merge-two-sorted-lists/ *** 본 문제를 푸는 과정을 공유하려 한다.▶ 주어진 예제를 기준으로 보면, 입력이 들어오면 아래와 같이 출력되어야한다.(확실히 그림으로 그려보고나면 코드 방향성이 바로 생각난다.) ▶ 위의 그림을 보며 작성한 코드는 아래와 같다.class Solution: def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]: new_node = ListNode(0) cur_node = new_node ..
LeetCode사용 언어: Python문제 링크: https://leetcode.com/problems/palindrome-linked-list/ *** 본 문제를 푸는 과정을 공유하려 한다.▶ 처음에 본 문제를 보고 head와 cur_node를 나눠서 cur_node를 이용하여 현재 위치를 알 수 있게끔 하였다. 리스트에 연결 리스트를 붙여 나가면서 cur_node 위치를 계속 업데이트 해준다. 쉬운 이해를 위하여 아래와 같이 그림을 그려보았다.▶ 위의 풀이방향으로 구현한 코드는 아래와 같다.class Solution: def isPalindrome(self, head: Optional[ListNode]) -> bool: list_ary = [] cur_node = he..
프로그래머스사용 언어: Python문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr *** 본 문제를 푸는 과정을 공유하려 한다. ▶ 처음에 본 문제를 보고 3가지 조건에 대해서 dfs 방법으로 풀이 방향을 정했고, 아래와 같이 코드를 작성하였다.def solution(x, y, n): answer = -1 def dfs(src, cnt): nonlocal answer if src == y: ..
프로그래머스사용 언어: 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..