본문 바로가기

전체 글

(79)
[백준] 19238 - 스타트 택시 출처 : https://www.acmicpc.net/problem/19238 문제 스타트링크가 "스타트 택시"라는 이름의 택시 사업을 시작했다. 스타트 택시는 특이하게도 손님을 도착지로 데려다줄 때마다 연료가 충전되고, 연료가 바닥나면 그 날의 업무가 끝난다. 택시 기사 최백준은 오늘 M명의 승객을 태우는 것이 목표이다. 백준이 활동할 영역은 N×N 크기의 격자로 나타낼 수 있고, 각 칸은 비어 있거나 벽이 놓여 있다. 택시가 빈칸에 있을 때, 상하좌우로 인접한 빈칸 중 하나로 이동할 수 있다. 알고리즘 경력이 많은 백준은 특정 위치로 이동할 때 항상 최단경로로만 이동한다. M명의 승객은 빈칸 중 하나에 서 있으며, 다른 빈칸 중 하나로 이동하려고 한다. 여러 승객이 같이 탑승하는 경우는 없다. 따라서 ..
[백준] 19235 - 모노미노도미노 출처 : https://www.acmicpc.net/problem/19235 문제 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, y는 열을 의미한다. 빨간색, 파란색, 초록색 보드가 사용하는 좌표는 그 색으로 그림에 적혀있다. 이 게임에서 사용하는 블록은 타일 하나 또는 두 개가 가로 또는 세로로 붙어있는 형태이다. 아래와 같이 세 종류가 있으며, 왼쪽부터 순서대로 크기가 1×1, 1×2, 2×1 이다. 블록을 놓을 위치를 빨간색 보드에서 선택하면, 그 위치부터 초록색 보드로 블록이 이동하고, 파란색 보드로 블록이 이동한다. 블록의 이동은 다른 블록을 만나거..
[한빛미디어 - 나는 리뷰어다] '핸즈온 머신러닝' 리뷰 사실 핸즈온 머신러닝에 대한 책을 보기전에 표지만 봐도 머신러닝, 딥러닝에 관한 실제적인 설계법이나, 아니면 응용버같은 것을 알려주는 책인줄 알았지만, 이 책은 초보자가 봐도 될만큼 기초부터 시작하는 친절한 책이다. 이 책이 1판이 나오고 난 뒤 2판이 나오면서 컬러로 바뀌어 더욱 보기 쉬워졌고, 또한 최신 케라스 텐서플로우에 대한 이야기도 나오기 때문에, 머신러닝에 관심이 있는 사람이라면 참고하기 아주 좋은 도서이다. 첫 책 표지를 보았을 때 제목길이에 압도당했다. 사실 이 책을 보기전 1판에 대해서 핸즈온 머신러닝이라는 책이 실용적인 부분에서 유용한 줄 알았지만 책 내용이 초보자가 이해하기 쉽게 아주 친절하게 쓰여있기 때문에 유명해졌다고 생각이 바뀌었다. 이 책은 절대로 초보자가 못읽는 책이 아니다...
[Level 4] 한국코드페어 - 외주 출처 : https://level.goorm.io/exam/49104/%EC%99%B8%EC%A3%BC/quiz/1 외주 형기는 뛰어난 개발 실력을 가지고 있지만 게을러서 아직 일자리를 구하지 못했다. 사실 집에서 뒹굴거리는 게 더 좋아서 구할 생각도 없는 듯하다. 그러던 어느 날, 형기는 슬슬 새 컴퓨터를 장만해야겠다고 생각이 들었고 그러려면 돈이 필요하다는 것을 깨달았다. 어쩔 수 없이 형기는 외주작업을 맡아 함으로써 돈을 벌고자 한다. 형기는 외주 전문 사이트에 글을 올린 후, 그대로 잠이 들었다. 다음 날 일어나서 자신이 올린 글을 확인해보니 수많은 외주작업 요청이 들어온 것을 보고는 입이 쩍 벌어졌다. 벌써부터 돈이 굴러들어오는 생각에 입꼬리가 올라갔지만, 각 외주작업의 요청에는 계약금과 마감기..
[프로그래머스] Level 3 - 종이접기 문제 : https://programmers.co.kr/learn/courses/30/lessons/62049 문제 설명 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽으로 접습니다. 종이를 모두 접은 후에는 종이를 전부 펼칩니다. 종이를 펼칠 때는 종이를 접은 방법의 역순으로 펼쳐서 처음 놓여있던 때와 같은 상태가 되도록 합니다. 위와 같이 두 번 접은 후 종이를 펼치면 아래 그림과 같이 종이에 접은 흔적이 생기게 됩니다. 위 그림에서 ∨ 모양이 생긴 부분은 점선(0)으로, ∧ 모양이 생긴 부분은 실선(1)으로 표시했습니다. 종이를 접은 횟수 n이 매개변수로..
[한빛미디어 - 나는 리뷰어다] '이것이 안드로이드다 with 코틀린' 리뷰 이것이 안드로이드는 처음에 받았을 때 초보자를 위해 안드로이드를 설명하는 책인 줄 알았다. 또한, 책 목차를 보게 되더라도 앞 부분은 기본적인 내용, 문법을 설명하고, 뒷부분으로 갈 수록 활용하는 방법 마지막은 프로젝트로 책을 마무리 하게 되는데, 사실 이 책을 읽어나가면서 입문자는 접하기에는 살짝 어려울수도 있다는 것이 내 생각이다. 안드로이드 스튜디오 최신버전으로 설명되어있기 때문에, 지금 이 시점에 책을 접하더라도 문제가 없이 구동될 것이다. 또한 동영상 강좌를 무료로 제공하기 때문에, 이해가 안되는 부분이 있으면 동영상과 같이 겸하여 공부하면 학습의 효율이 더욱 올라갈 것이다. 이 책은 코틀린 위주로 설명하기 때문에 코틀린에 대한 문법을 아주 자세히는 아니지만, 필수적으로 알아야 할 기본적인 문법..
[백준] 7579 - 앱 문제 우리는 스마트폰을 사용하면서 여러 가지 앱(App)을 실행하게 된다. 대개의 경우 화면에 보이는 ‘실행 중’인 앱은 하나뿐이지만 보이지 않는 상태로 많은 앱이 '활성화'되어 있다. 앱들이 활성화 되어 있다는 것은 화면에 보이지 않더라도 메인 메모리에 직전의 상태가 기록되어 있는 것을 말한다. 현재 실행 중이 아니더라도 이렇게 메모리에 남겨두는 이유는 사용자가 이전에 실행하던 앱을 다시 불러올 때에 직전의 상태를 메인 메모리로부터 읽어 들여 실행 준비를 빠르게 마치기 위해서이다. 하지만 스마트폰의 메모리는 제한적이기 때문에 한번이라도 실행했던 모든 앱을 활성화된 채로 메인 메모리에 남겨두다 보면 메모리 부족 상태가 오기 쉽다. 새로운 앱을 실행시키기 위해 필요한 메모리가 부족해지면 스마트폰의 운영체제..
[백준] 18119 - 단어 암기 문제 준석이는 영어 단어를 외우려고 한다. 사전에는 N가지 단어가 적혀 있다. 모든 단어는 소문자이다. 단어 안에 있는 모든 알파벳을 알 때, 그 단어를 완전히 안다고 한다. 다음과 같은 쿼리들이 주어진다. 1 x : 알파벳 x를 잊는다. 2 x : 알파벳 x를 기억해 낸다. 처음에 모든 알파벳을 기억하는 상태고, 모음은 완벽하게 외웠기 때문에 절대 잊지 않는다. 각 쿼리마다 완전히 알고 있는 단어의 개수를 출력하여라. 입력 첫 번째 줄에는 정수 N (1 ≤ N ≤ 104)과 M (1 ≤ M ≤ 5×104)이 주어진다. 다음 N개의 줄에는 문자열이 하나씩 주어진다. 문자열의 길이는 103을 넘지 않는다. 다음 M개의 줄에는 정수 o와 문자 x가 한 줄씩 주어진다. o는 1, 2중 하나이고, x는 알파벳 ..