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

프로그래밍/코딩테스트 문제풀이 189

[Python] 백준 1759. 암호 만들기

https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 백준 브루트 포스 문제유형. combinations로 모든 경우의 수를 탐색하면 된다.

[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] 백준 16236. 아기 상어

https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net bfs + heapq로 풀어낼 수 있는 문제. 현재 위치에서 1. bfs로 '잡아먹을 수 있는 물고기 좌표'를 탐색한다. 2. 탐색..

[Python] 구름. 달걀 부화기

https://level.goorm.io/exam/43144/%EB%8B%AC%EA%B1%80-%EB%B6%80%ED%99%94%EA%B8%B0/quiz/1 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 출력 부문의 설명이 별로 명확하지 않다. '처음부터 달걀이 전부 부화한 상태일 경우' 0 출력 '처음부터 달걀이 부화할 수 없는 상태일 경우' -1 출력 이외의 경우, 부화할 때까지의 최소 날짜를 출력하라는 뜻이다.

[Python] 구름. 외주

https://level.goorm.io/exam/49104/%EC%99%B8%EC%A3%BC/quiz/1 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 1. 날짜를 역순으로 생각해야 한다. 현재 날짜가 7일이라면, 마감일이 6일 이전인 업무는 참여할 수 없다. 맨 마지막 날짜부터 첫번째 날짜까지를 순회하면서 '해당 날짜에 가장 이윤이 남는 작업'을 찾는다. = 마감일과 보수를 저장한 배열을 '마감일'이 높은 순, '보수 높은 순'으로 정렬한다. 이 경우 '마감일'이 동일한 작업은 가장 높은 보수를 제공하는 작업으로 정렬된다. 2. 동일한 날에 여러 업무가 들어올 경우, 나중을 위해 저장해야 한다. 마감일이 7일까지인 업무가 있고 3일차에..

[Python] 백준 1005. ACM Craft

https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N 과 건물간의 건설순서규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부터 N번까지 존재한다) 둘째 줄에는 각 건물당 건설에 걸리는 시간 D가 공백을 사이로 주어진다. 셋째 줄부터 K+2줄까지 건설순서 X Y가 주어진다. (이는 건물 X를 지은 다음에 건물 Y를 짓는 것이 가능하다는 의미이다) 마지막 줄에는 백준이가 승리하기 위해 건 www.acmicpc.net 위상정렬 + bfs를 적용한 느낌의 문제.

[Python] 백준 1655. 가운데를 말해요

https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로 주어진다. 정수는 -10,000보다 크거나 같고, 10,000보다 작거나 같다. www.acmicpc.net 접근 방법이 백준 키로거 문제와 흡사하다. [Python] 백준 5397. 키로거 https://www.acmicpc.net/problem/5397 5397번: 키로거 문제 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에.. insp..