
문제 세준이는 length × width × height 크기의 박스를 가지고 있다. 그리고 세준이는 이 박스를 큐브를 이용해서 채우려고 한다. 큐브는 정육면체 모양이며, 한 변의 길이는 2의 제곱꼴이다. (1×1×1, 2×2×2, 4×4×4, 8×8×8, ...) 세준이가 가지고 있는 박스의 종류와 큐브의 종류와 개수가 주어졌을 때, 박스를 채우는데 필요한 큐브의 최소 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 세 자연수 length width height가 주어진다. 둘째 줄에 세준이가 가지고 있는 큐브의 종류의 개수 N이 주어진다. 셋째 줄부터 총 N개의 줄에 큐브의 종류 Ai와 개수 Bi가 순서대로 주어진다. 큐브의 종류는 한 변의 길이를 나타낼 때 쓰는 2^i에서 i이다. 출력 첫째..

문제 다솜이는 유료 고속도로를 가지고 있다. 다솜이는 현재 고속도로에 휴게소를 N개 가지고 있는데, 휴게소의 위치는 고속도로의 시작으로부터 얼만큼 떨어져 있는지로 주어진다. 다솜이는 지금 휴게소를 M개 더 세우려고 한다. 다솜이는 이미 휴게소가 있는 곳에 휴게소를 또 세울 수 없고, 고속도로의 끝에도 휴게소를 세울 수 없다. 휴게소는 정수 위치에만 세울 수 있다. 다솜이는 이 고속도로를 이용할 때, 모든 휴게소를 방문한다. 다솜이는 휴게소를 M개 더 지어서 휴게소가 없는 구간의 길이의 최댓값을 최소로 하려고 한다. (반드시 M개를 모두 지어야 한다.) 예를 들어, 고속도로의 길이가 1000이고, 현재 휴게소가 {200, 701, 800}에 있고, 휴게소를 1개 더 세우려고 한다고 해보자. 일단, 지금 이..

문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다. 출력 첫째 줄에 그룹 단어의 개수를 출력한다. 문제 링크 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재..

문제 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. 입력 첫째 줄에 배열의 크기 N이 주어진다. N은 105보다 작거나 같은 자연수이다. 둘째 줄에 k가 주어진다. k는 min(109, N2)보다 작거나 같은 자연수이다. 출력 B[k]를 출력한다. 문제 링크 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 ..

문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. 문제 링크 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않..
![[Flutter][Error] Firebase Realtime DB 이름 규칙 오류](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcr4RM1%2FbtsFimuZR2Z%2Fzuoj1OtvmA6068CkLlocV1%2Fimg.png)
발단 실시간 DB로 옮기고 DB구조를 어느정도 정한 후에 테스트를 위해 더미 데이터를 넣어보았다. 현 프로젝트에는 DB구조가 아래와 같다. String todoid; DateTime date; String title; List repeat; String user; String creator; bool alarm; String description; bool complete; 이때 todoid는 현재 DateTime으로 나온 값을 String으로 변환 시킨 값을 사용한다. 번호나 일정 규칙이 있는 값을 id 삼아 사용하려고 했는데, 그렇게 되면 추가로 생각해야할게 많아져서 단순한 프로젝트인 만큼 단순하게 잡았다. 그런데 더미데이터를 넣는 함수를 실행시키자 시뮬레이터 내부에서 앱이 바로 종료되어버렸다. 보통..
![[노션 강의] 2. 노션의 기본 구조와 사용](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHD1U9%2FbtsFfVdEJXZ%2FcGPB727tDLr614jbMElWnk%2Fimg.png)
⛳️ 노션의 구조와 노션을 이루고 있는 구성요소의 사용에 대해 알아봅시다! 노션의 기본 구조 노션 사용법에 대해 알아보기 전에 노션의 기본 구조에 대해 알아볼 것입니다. 노션의 구조를 알고 나면 사용하는 법도 더 쉽게 익힐 수 있습니다. Top-down 방식으로 하나씩 보도록 합시다. Workspace 노션의 가장 큰 단위라고 하면, 역시 workspace다. Workspace는 하나의 프로젝트라고 볼 수 있다. 하나의 큰 대분류로 다른 프로젝트나 다른 주제와의 분리가 가능해진다. 좌측 상단에 워크스페이스들을 모아 볼 수 있고, 원하는 워크스페이스로 전환이 가능하다. ▼ Workspace 만드는 법 ‘처음 시작할 때 워크스페이스를 하나 만들었는데, 새로운 워크스페이스는 어떻게 만드나요?’ 좌측 상단의 워..
![[Swift] 모음 타입들](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMZmKr%2FbtsFg4HNEfV%2FOMEt3KbBQKVILAxjkkPBV0%2Fimg.png)
모음 타입들Swift는 여러 값들을 저장하기 위해 Array, Set, Dictionary라는 Collection Type(컬렉션 타입)을 제공한다.Array(배열)은 순서대로 값을 모은 것이고,Set(집합)은 순서가 없는 값들을 모은 것이다.Dictionary는 Key-Value 쌍을 순서 없이 모은 것이다. Swift의 Array, Set, Dictionary에 저장되는 값은 항상 명확한 타입을 가지고 있어야 한다.만약 Int자료형을 저장하는 Array에 String 타입의 값을 넣으려고 하면 오류가 발생한다. Mutability of Collections개발자가 Array, Set, Dictionary를 만들어 변수에 할당하면 해당 컬렉션들은 모두 변경 가능하다.즉, 값을 추가, 제거, 변경할 ..
![[Unity2D] Object와 Sprite](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbu5sYQ%2FbtsFesIHU2M%2FA9HROjJJZR1uAuzTQMgix1%2Fimg.png)
시작 간단하게 캡슐 모양의 오브젝트를 자동차처럼 조종하는 것을 만들어볼 것이다. (유니티 에디터 버전: 2020.3.30f1 Intel) 아래의 자동차를 조종해 볼 것이다.▼ 아래의 이미지는 코딩고라니가 만들었고, 이미지를 연습용으로 사용하는데는 아무 제약이 없습니다. 마음에 들지 않는다면, 다른 파일로 해도 괜찮습니다. 자동차 오브젝트 생성 가장 먼저 해야할 것은 조종할 오브젝트를 만드는 것이다. 일단 유니티 프로젝트를 만들어준다. (2D 프로젝트로 만드는 것을 잊지 말자)▼ Hierarchy 탭의 빈공간을 눌러서 캡슐 모양 스프라이트를 가진 2D 오브젝트를 하나 만들어주자. 사실 어떤 오브젝트인지는 상관 없다. 어차피 square, circle, capsule의 차이는 스프라이트의 차이인데 우리는 자..
![[Unity2D] 게임 디자인](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpUfEK%2FbtsFcDjRtbA%2FUHF317sBJohhKI8tsPJKi1%2Fimg.png)
게임 디자인 게임 제작에 앞서 게임 디자인이란 것에 대해 생각해야한다. 게임 디자인이란? 게임 디자인(game design)은 게임을 플레이하는 사람에게 전달하고 싶은 재미를 표현하고 구현하기 위해 게임의 규칙과 내용을 설계하는 과정을 지칭하는 말이다. 또한 이미 제작된 게임의 설계 양식이나 문서를 가리키는 말로도 사용된다. 게임 디자인에는 여러가지 제약들이 존재하지만 소규모로 제작하는 입장에서 고려해야할 것들에 대해서 간단하게 얘기하자면 이런 것들이 있다. 게임의 요소와 메카닉 사용자 경험(Player Experience) 핵심 기능(Core Mechanic) 게임 루프(Game Loop) 하나씩 살펴보자. 게임의 요소와 메카닉 게임의 요소와 메카닉은 단순하게 말하면 무엇이 게임에 있고, 어떤 방식으로..