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

코딩테스트 185

[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일차에..

2020 소프트웨어 마에스트로 온라인 코딩테스트 후기

2020 소프트웨어 마에스트로 선발과정은 '온라인 코딩테스트'가 추가되어 있다. 코로나 바이러스로 오프라인 행사가 어려워지면서, 3월에 예정되어 있던 오프라인 코딩테스트를 온라인 코딩테스트로 변경하고, 합격자에 한해 오프라인 코딩테스트를 진행한다. 즉 크게 온라인 코딩테스트 -> 오프라인 코딩테스트 -> 면접 단계를 거치는 것. 코딩테스트 IDE는 Goorm (https://level.goorm.io/) 를 사용했다. 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 2시간 안에 알고리즘 3문제, SQL 1문제, 웹 프로그래밍 1문제를 풀어내는 형태였다. 문제 유출은 불가능하지만, 내가 문제를 풀 때 활용한 개념을 생각해보면 대략 DP, Br..

일상 속 생각 2020.03.16

[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..