공부하고 기록하는, 경제학과 출신 개발자의 노트

Python 188

[Python] 구름. 그룹 지정

https://level.goorm.io/exam/49052/%EA%B7%B8%EB%A3%B9-%EC%A7%80%EC%A0%95/quiz/1 구름LEVEL 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이외에 여러 가지 프로그래밍 언어로 풀이할 수 있습니다. level.goorm.io union find 문제.

[Python] 구름. 잡초 제거

https://level.goorm.io/exam/51351/%EC%9E%A1%EC%B4%88-%EC%A0%9C%EA%B1%B0/quiz/1 구름LEVEL 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이외에 여러 가지 프로그래밍 언어로 풀이할 수 있습니다. level.goorm.io Segment Tree라는 개념을 처음 알게 된 문제. Segment Tree 개념을 쉽게 설명한 포스트는 아래와 같다. https://www.crocus.co.kr/648 세그먼트 트리(Segment Tree) 세그먼트 트리(Segment Tree)는 요..

[Python] 구름. 개구리 2

https://level.goorm.io/exam/43230/%EA%B0%9C%EA%B5%AC%EB%A6%AC-2/quiz/1 구름LEVEL 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이외에 여러 가지 프로그래밍 언어로 풀이할 수 있습니다. level.goorm.io 도착점에서부터 시작점으로 역산하면서 '한 칸 이동하는 데 필요한 값'을 갱신하는 문제.

[Python] 구름. 소수 고리

https://level.goorm.io/exam/43234/%EC%86%8C%EC%88%98-%EA%B3%A0%EB%A6%AC/quiz/1 구름LEVEL 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이외에 여러 가지 프로그래밍 언어로 풀이할 수 있습니다. level.goorm.io 1. permutations로 가능한 모든 조합을 생성한다 2. 자료구조에 각 조합별로 인접한 숫자 두 개의 합을 저장한다. 3. 저장된 모든 숫자가 소수인지 확인한다 4. 전부 소수라면 해당 배열 조합을 출력한다.

[Python] 구름. 근묵자흑

https://level.goorm.io/exam/47881/%EA%B7%BC%EB%AC%B5%EC%9E%90%ED%9D%91/quiz/1 구름LEVEL 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이외에 여러 가지 프로그래밍 언어로 풀이할 수 있습니다. level.goorm.io 첫 번째 변환을 하는 장소가 어디인지에 따라 결과값이 달라진다. 문제 예시의 경우, [2,3,1]을 고를 수도 있고 [3,1,4]를 고를 수도 있으며, 배열이 길어지면 이 선택에 따라 변환 횟수가 달라질 수 있음. 1. 배열에서 가장 작은 숫자의 index를..

[Python] 프로그래머스. 서울에서 경산까지 (Level 4)

https://programmers.co.kr/learn/courses/30/lessons/42899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP문제. table[n][key] = n번째 도시를 key의 시간으로 도착했을 때 얻을 수 있는 수익의 최댓값으로 정의하면 table[n][key]는 table[n-1][key] + n번째 도시에서 얻을 수 있는 비용 중 최댓값이 된다. 2D 리스트보다 효율적으로 만들어보려고 리스트 + dict 자료구조를 썼다.

[Python] 백준 17143. 낚시왕

https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. 칸에는 상어가 최대 한 마리 들어있을 수 있다. 상어는 크기와 속도를 가지고 있다. 낚시왕은 처음에 1번 열의 한 칸 왼쪽에 있다. 다음은 1초 동안 일어나는 일이며, 아래 적힌 순서대로 일어난다. 낚시왕은 가장 오른쪽 열의 오른쪽 칸에 이동하 www.acmicpc.net 깐깐한 시뮬레이션 문제. 내 코드는 Python3으로는 시간초과가 났고, pypy3으로는 통과했다. 더 효율적으로 코드를 작성할 방법이..

[Python] 프로그래머스. 2019 카카오 겨울 인턴 recruit - 징검다리 건너기 (Level 3)

https://programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 19년 12월 처음 접했을 때는 시간이 없어서 못 풀었고, 이번에 풀었을 때 효율성 13번에서 시간초과가 난 문제. 공식 풀이는 이분탐색. 나는 이 문제를 '전체 list 중 k개를 window로 돌면서, 해당 window의 최댓값이 가장 작은 것'을 반환하는 문제라고 봤다. window로 돌 때, 해당 window 모든 값이 0이면 더 이상 강을 건널 수 없다. 모든 값이 0이 되려면, window의 가장 ..

[Python] 프로그래머스. 2020 카카오 recruit - 자물쇠와 열쇠 (Level 3)

https://programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법은 카카오 공식 해설을 참고하면 된다. https://tech.kakao.com/2019/10/02/kakao-blind-recruitment-2020-round1/ 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설 올해에도 2020이라는 멋진 숫자와 함께, 카카오의 신입 개발자 채용을 시작했습니다! 그 여정 중 첫 단계로 1차 코딩 테스트가 지난 9월 7일 토요일 오후 2시부터 오후 ..

[Python] 프로그래머스. 2019 카카오 겨울 인턴 recruit - 불량 사용자 (Level 3)

https://programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs + backtracking을 써서 해결한 문제. 문제 조건에 주어진 user_id, banned_id 개수가 많지 않아서, 모든 경우의 수를 확인하면서 풀 수 있는 문제였다. 어떤 자료구조를 어떻게 써서 풀어야 시간초과 없이 풀 수 있는지 시간 내에 고민해서 정답을 찾는 게 고민스러웠던 문제. 주어진 데이터의 양이 많지 않아서 정규식을 사용할 수 있었던 것 같다.