일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Silver
- trie
- Zenject
- LEVEL2
- Unity
- PrefixSum
- Euclidean
- algorithm
- 3D RPG
- 8-Puzzle
- 프로세스 상태
- SWEA
- 프로그래머스
- knapsack Problem
- programmers
- Flyweight Pattern
- BOJ
- binary search
- stack
- effective C++
- Project
- Bronze
- level3
- level1
- two pointer
- BFS
- Modern C++
- Gold
- dirtyflag pattern
- solid 원칙
- Today
- Total
목록All (168)
Patrick's Devlog
1. 문제 개요 https://www.acmicpc.net/problem/16435 16435번: 스네이크버드 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. www.acmicpc.net 1-1. 설명 스네이크버드는 뱀과 새의 모습을 닮은 생물체이다. 주요 먹이는 과일이며 과일 하나를 먹으면 길이가 1만큼 늘어난다. 과일들은 지상으로부터 일정 높이를 두고 떨어져 있으며, i번째 과일 높이는 h_i이다. 스네이크버드는 자신의 길이보다 작거나 같은 높이에 있는 과일을 먹을 수 있다. 스네이크버드의 처음 길이가 L일 때..
개요 분량이 많아지다 보니 나눠서 작성하게 되었다. 3, 4항목만 정리한다. 내가 알고 있던 C++보다 훨씬 깊게 배워 읽는 속도가 느려 정리가 늦어진다. 빠르게 한다기 보다, 이해를 목적으로 천천히 정리하려고 한다. Item 3: 낌새만 보이면 const를 들이대 보자 const는 여러 방면에서 쓰인다. 클래스 외부에서는 전역 혹은 네임스페이스 유효 범위의 상수를 선언하는데 쓸수 있다. 이뿐만 아니라, 파일, 함수, 블록 유효 범위에서 static으로 선언한 객체에서도 const를 붙일 수 있다. 클래스 내부에서는 정적 멤버 및 비정적 데이터 멤버 모두를 상수로 선언할 수 있다. 또한 포인터는 포인터 자체를 상수로, 혹은 포인터가 가리키는 데이터를 상수로 지정할 수 있다. 여기서 둘 다 지정할 수 있고..
1. 문제 개요 https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net 1-1. 설명 오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨요일일까? 이를 알아내는 프로그램을 작성하시오 1-2. 제한사항 - x월 y일을 입력받음 - x는 1이상 12이하, y는 1이상 31이하 - 2월은 28일까지 존재 2. 구현 2-1. 풀이 단순하게 요일과 달마다 일 수를 vector로 저장하고 x월 ..
개요 C++에 관련하여 조금 더 효과적이고 심도있게 공부하기 위해 관련 서적을 구매하여 공부할 예정이다. 서적은 C++를 조금 더 잘 설계하고 활용하고자 스콧 마이어스의 를 선정하였다. 앞으로 정리해야할 부분은 블로그에 차근차근 작성할 예정이다. Item 1 : C++를 언어들의 연합체로 바라보는 안목은 필수 C에서 파생된 C++는 초기와 다르게 점차 발전하여 다중패러다임 프로그래밍 언어(multiparadigm programming language)라고 불린다. 절차적, 객체지향적, 함수식, 일반화 프로그래밍을 포함해 메타프로그래밍 개념까지 지원한다. 위와 같은 유연함 덕분에 C++는 소프트웨어 개발에 매우 적절하다. 하지만 사용하기까지 C++의 이해도는 높아야 한다. C++를 조금 더 잘 이해하기 위..

1. 문제 개요 https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 1-1. 설명 정수 n이 매개변수로 주어지며, 아래의 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한다. 이 때 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return하도록 하는 함수를 완성한다. 1-2. 제한사항 - n은 1이상 1,000 이하 2. 구현 2-1. 풀이 2차원 ..
1. 문제 개요 https://programmers.co.kr/learn/courses/30/lessons/12941 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr 1-1. 설명 길이가 동일한 배열 A, B가 있다. 각 배열은 자연수로 존재한다. 각 배열에서 한개의 숫자를 뽑아 두 수를 곱한다. 이러한 과정을 배열 길이만큼 반복해 곱한 값을 누적해 더한다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표이다. 배열 A, B가 주어질 때 최종적으로 누적된 최솟값을 return..

개요 대학교 재학 중 전공 수업에서 진행한 프로젝트이다. 흔히 우리가 평소에 접할 수 있는 간단한 8-Puzzle 게임이다. 3X3 타일 위에 1부터 8까지 숫자가 놓여 있으며, 초기 상태는 헝클어진 상태이지만 공백 타일을 이동하여 최종 상태로 만들어내면 게임이 종료된다. 1. 문제 분석 앞서 언급했듯이 3X3 타일 위에 1부터 8까지 숫자들이 놓여있다. 공백을 이동하여 숫자를 옮겨 최종 상태로 맞추어내면 게임이 종료된다. 3X3 뿐만 아니라, 4X4, 5X5도 추가하여 게임을 할 수 있는 프로그램을 작성할 수 있다. 구현할 때 숫자를 랜덤 함수를 통해 무작위로 배치하면 불가능한 퍼즐이 나오는 경우가 있다. 3X3 타일을 예로 들자면 아래의 그림처럼 숫자가 배치되어 버리면 이 퍼즐은 최종 상태로 갈 수 ..
1. 문제 개요 https://programmers.co.kr/learn/courses/30/lessons/12982?language=cpp 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 1-1. 설명 각 부서에 필요한 물품을 지원해주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사한다. 전체 예산이 정해져 있으므로, 모든 부서에 물품을 구매할 수 없다. 그래서 최대한 많은 부서의 물품을 구매할 수 있도록 한다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최 대 ..