Today_I_Learned
-
99클럽 코테 스터디 6일차 TIL: 배열, LeetCode 2433. Find The Original Array of Prefix XorToday_I_Learned/Algorithm 2024. 6. 16. 09:45
문제https://leetcode.com/problems/find-the-original-array-of-prefix-xor/description/ 통과 여부Pass 나의 접근법 XOR 연산자의 특성을 알고 있으면 쉽게 풀 수 있는 문제 ( A ^ B = C 일 때, A ^ C = B )하지만 나는 ^ (XOR 연산자) 를 몰라 검색 시간이 필요했다.class Solution: def findArray(self, pref: List[int]) -> List[int]: arr = [pref[0]] for i in range(1, len(pref)): arr.append(pref[i]^pref[i-1]) return arr
-
99클럽 코테 스터디 5일차 TIL: 배열, Leetcode 1476. Subrectangle QueriesToday_I_Learned/Algorithm 2024. 6. 15. 10:43
문제https://leetcode.com/problems/subrectangle-queries/description/ 통과 여부Pass 나의 접근법 문제만 이해되면 풀이는 특별할 것 없이 단순했던 문제.두 번째 Input 의 0번 요소로 2차원 List 인 self.rectangle 을 초기화updateSubrectangle(row1, col1, row2, col2, newValue) 는 2 중 for문을 돌려 self.rectangle[row1][col1] 부터 self.rectangle[row2][col2] 까지 newValue 로 초기화문제는 해결되었지만, 코테가 이렇게 쉬울리 없다는 이상한 의심이 들어 더 빠른 방법이 있는 지 재도전 해 볼 예정이다.class SubrectangleQueries:..
-
99클럽 코테 스터디 4일차 TIL : Graph, 프로그래머스, 순위Today_I_Learned/Algorithm 2024. 6. 13. 23:01
문제https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 통과 여부Fail 나의 접근법 (해결 못 함)'방향'과 '순위' 에 꽂혀 위상 정렬 문제라고 생각하고 문제 풀기 시작[[], [이긴 상대1, 2,...], [], ...] 처럼 각 선수 별로 이긴 상대를 List에 담은 2차원 List 로 초기화나 > 상대일 때, 상대 > 타 선수 이면, 나 > 타 선수 이므로 위 2차원 List 를 순회하면서 각 선수 별로 이긴 상대를 Update 함. 각 ..
-
99클럽 코테 스터디 3일차 TIL: Graph, Dijkstra, 프로그래머스, 가장 먼 노드Today_I_Learned/Algorithm 2024. 6. 12. 23:40
문제https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr통과 여부Pass 나의 접근법Dijkstra 채택( Dijkstra 의 조건1. 어느 한 Node 로 부터 나머지 모든 Node 간의 거리를 구해야 함. 조건2. Node 간 거리는 모두 양수여야 함.)최대 거리를 나타내는 변수 longgest 를 두고, 시작점과 어느 한 Node 의 거리가 longgest 의 값보다 크면 해당 거리로 longgest 를 갱신한다.longgest 와 동일한 거리가 ..
-
99클럽 코테 스터디 1일차 : 그리디, 구명보트(프로그래머스)Today_I_Learned/Algorithm 2024. 6. 6. 10:57
문제https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 참고한 그리디 설명 영상https://www.inflearn.com/course/lecture?courseSlug=%EB%91%90%EC%9E%87-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%94%A8%EC%81%A0%EC%81%A0&unitId=148427 학습 페이지 www.infl..
-
[Git] RebaseToday_I_Learned 2024. 2. 7. 16:37
작성 목적 다소 의미가 빈약한 commit 이력들을 깔끔하게 관리할 수 있는 방법을 찾다가 Git 에 Rebase와 Squash 라는 기능이 있다는 것을 알게 되었다. 먼저 Rebase 기능을 조사하기 위해 Git 공식 문서 (https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase-%ED%95%98%EA%B8%B0)를 참고 하였다. 그러나 Git 공식 문서의 한글 번역본이 이해하기 어려웠던 부분이 있어 내 수준에 맞게 좀 더 풀어 써보려 한다. Git의 Reabse는 Branch를 합칠 때 Merge와 다르게 Commit history를 깔끔하게 선형적으로 만들어주는 기능이다. 브랜치를 Rebase한 결과물은 Merge를 수행한 결과물..
-
[Ubuntu16.04][Python3] Python3 버전 복구Today_I_Learned/Python 2023. 12. 1. 15:13
[환경] Ubuntu 16.04 Python3.8 ( -> Ubuntu 16.04 의 기본 버전인 Python3.5 로 복구가 목표) [요약] pyhon3 링크 변경 python3 경로의 하위 파일을 python3.5의 파일들로 교체 특정 버전의 python 제거 (선택사항) 필요한 Package들 재설치 pyhon3 링크 변경 python3 명령어로 python 기본 버전이 실행되도록 하고 싶다면 python3 명령어에 연결된 링크 설정을 변경해야 한다. 단순히 update-alternatives 로 변경했을 경우 update-alternatives 로 다시 원래 버전을 지정해주면 된다. sudo update-alternatives --config python3 -> 원하는 python 버전의 번호 입..