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

프로그래머스 86

[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] 프로그래머스. 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 개수가 많지 않아서, 모든 경우의 수를 확인하면서 풀 수 있는 문제였다. 어떤 자료구조를 어떻게 써서 풀어야 시간초과 없이 풀 수 있는지 시간 내에 고민해서 정답을 찾는 게 고민스러웠던 문제. 주어진 데이터의 양이 많지 않아서 정규식을 사용할 수 있었던 것 같다.

[Python] 프로그래머스. 2019 카카오 겨울 인턴 recruit - 호텔 방 배정 (Level 4)

https://programmers.co.kr/learn/courses/30/lessons/64063프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr union find 형태의 문제. 백준 10775 공항 문제를 참고하면 좋다.이런 형태의 문제는 이전에 풀어 봤다. k가 10^12나 되는 큰 크기이기 때문에, 저 숫자만큼의 배열이나 dictionary를 선언하지 않는 게 시간초과를 막는 핵심. [Python] 백준 10775. 공항https://www.acmicpc.net/problem/10775 10775번: 공항 문제 오늘은 신승원의 생일이다. 박승원은 생일..

[Python] 프로그래머스. 2019 카카오 겨울 인턴 recruit - 크레인 인형뽑기 게임 (Level 2)

https://programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2019년에 4solve 탈락, 최근에 프로그래머스에서 다시 열어 준 시험에서는 3solve했던 문제들. 이 문제는 어렵지 않다. board의 각 column별로 수직 탐색하는 대신, 이차원 배열의 column에 해당하는 부분을 row가 되도록 변형하면 된다.

[Python] 프로그래머스. 2019 카카오 recruit - 무지의 먹방 라이브 (Level 3)

https://programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트를 처음 접했을 때, 난이도가 어려워서 좌절했던 첫 번째 문제. 1. 음식은 가장 적은 양이 가장 먼저 사라진다. 2. 하나의 음식이 완전히 사라지려면, 그 음식 크기만큼 원판이 회전해야 한다. = 원판 길이가 3이고 가장 적은 음식이 2라면, 2를 완전히 제거하기 위해서는 3*2 = 6의 시간이 필요하다. 3. 정전까지 남은 시간 동안 하나의 음식을 완전히 제거할 수 없는 경우, 원판 순서대로 음식..

[Python] 프로그래머스. 2018 카카오 recruit - 프렌즈4블록 (Level 2)

https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 | 프로그래머스 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포함될 수 있으며, 지워지는 조건에 만족하는 2×2 모양이 여러 개 있다면 programmers.co.kr 시뮬레이션 문제. 1. 2d Array에서 네 개의 문자열이 사..