![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bdYoPi/btrmjb6SG9a/BtY9C9MErntp7mPj1GVVe0/img.png)
N 자리수를 가진 2진 수열을 만들 수 있는 경우의 수를 구하는 문제 문제 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다. 그러므로 지원이는 타일로 더 이상 크기가 N인 모든 2진 수열을 만들 수 없게 되었다. 예를 들어, N=1일 때 1만 만들 수 있고, N=2일 때는 00, 11을 만들 수 있다. (01, 10은 만들 수 없게 되었다.) 또한 N=4일 때는..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/blMgtm/btrl9k5iN3M/WAed8ABALkqajFzZTcSod1/img.png)
저는 최근에 c++에서 벡터를 포함한 컨테이너를 사용할 때 데이터를 삽입할 일이 있으면 위와 같이 emplace_back(queue 종류에서는 emplace)을 많이 쓰고 있습니다. 코딩 테스트용 알고리즘을 공부하는 책에서 emplace_back이 메모리 할당을 하는 동시에 값을 삽입하기 때문에 push_back보다 속도가 더 빠르다고 하길래 그 이후로는 최적화에 조금이나마 도움이 되라고 쭉 emplace_back을 써 왔죠. 근데 쓰다 보면 emplace_back이 가능하지 않고 push_back으로만 해결되는 경우도 있어서 정확한 차이가 궁금해져서 찾아봤습니다. 시작 전에 한 줄 요약하면 push_back은 객체를 삽입하기 위해서 똑같은 임시 객체를 하나 더 만들어서 거기에 복사한 다음 벡터에 삽입 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/brCTrw/btrmbYNu3bW/5fk7rIkQiKgoIu6dA6jypk/img.png)
숫자가 써진 카드를 규칙에 따라 합쳤을 때 카드에 써진 숫자들의 최소 합을 구하는 문제 문제 석환이는 아기다. 아기 석환이는 자연수가 쓰여져있는 카드를 갖고 다양한 놀이를 하며 노는 것을 좋아한다. 오늘 아기 석환이는 무슨 놀이를 하고 있을까? 바로 카드 합체 놀이이다! 아기 석환이는 자연수가 쓰여진 카드를 n장 갖고 있다. 처음에 i번 카드엔 ai가 쓰여있다. 카드 합체 놀이는 이 카드들을 합체하며 노는 놀이이다. 카드 합체는 다음과 같은 과정으로 이루어진다. x번 카드와 y번 카드를 골라 그 두 장에 쓰여진 수를 더한 값을 계산한다. (x ≠ y) 계산한 값을 x번 카드와 y번 카드 두 장 모두에 덮어 쓴다. 이 카드 합체를 총 m번 하면 놀이가 끝난다. m번의 합체를 모두 끝낸 뒤, n장의 카드에 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bINmhi/btrl44njd6i/fst4mVeByHHsY5I6AMyGC1/img.png)
N개의 카드를 구매하는 데 필요한 최대 금액을 구하는 문제 문제 요즘 민규네 동네에서는 스타트링크에서 만든 PS카드를 모으는 것이 유행이다. PS카드는 PS(Problem Solving)분야에서 유명한 사람들의 아이디와 얼굴이 적혀있는 카드이다. 각각의 카드에는 등급을 나타내는 색이 칠해져 있고, 다음과 같이 8가지가 있다. 전설카드 레드카드 오렌지카드 퍼플카드 블루카드 청록카드 그린카드 그레이카드 카드는 카드팩의 형태로만 구매할 수 있고, 카드팩의 종류는 카드 1개가 포함된 카드팩, 카드 2개가 포함된 카드팩, ... 카드 N개가 포함된 카드팩과 같이 총 N가지가 존재한다. 민규는 카드의 개수가 적은 팩이더라도 가격이 비싸면 높은 등급의 카드가 많이 들어있을 것이라는 미신을 믿고 있다. 따라서, 민규는..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dqUQgO/btrl4zgYHMZ/fpjbQZOwiOdUca4aXIWAQK/img.png)
치즈가 다 녹는 데 몇 시간 걸리는 지 구하는 문제 문제 N×M (5≤N, M≤100)의 모눈종이 위에 아주 얇은 치즈가 과 같이 표시되어 있다. 단, N 은 세로 격자의 수이고, M 은 가로 격자의 수이다. 이 치즈는 냉동 보관을 해야만 하는데 실내온도에 내어놓으면 공기와 접촉하여 천천히 녹는다. 그런데 이러한 모눈종이 모양의 치즈에서 각 치즈 격자(작 은 정사각형 모양)의 4변 중에서 적어도 2변 이상이 실내온도의 공기와 접촉한 것은 정확히 한시간만에 녹아 없어져 버린다. 따라서 아래 모양과 같은 치즈(회색으로 표시된 부분)라면 C로 표시된 모든 치즈 격자는 한 시간 후에 사라진다. 와 같이 치즈 내부에 있는 공간은 치즈 외부 공기와 접촉하지 않는 것으로 가정한다. 그러므 로 이 공간에 접촉한 치즈 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bhBjfr/btrlVZ1wPzX/l9dmcARY715Q4zqeCznBgK/img.png)
극장 의자에 붙어 있는 컵홀더를 쓸 수 있는 사람이 최대 몇 명인지 구하는 문제 문제 십년이면 강산이 변한다. 강산이네 동네에 드디어 극장이 생겼고, 강산이는 극장에 놀러갔다. 매점에서 콜라를 산 뒤, 자리에 앉은 강산이는 큰 혼란에 빠졌다. 양쪽 컵홀더를 이미 옆 사람들이 차지했기 때문에 콜라를 꽂을 컵 홀더가 없었기 때문이다. 영화를 보는 내내 콜라를 손에 들고 있던 강산이는 극장에 다시 왔을 때는 꼭 콜라를 컵 홀더에 놓겠다는 다짐을 한 후 집에 돌아갔다. 극장의 한 줄에는 자리가 N개가 있다. 서로 인접한 좌석 사이에는 컵홀더가 하나씩 있고, 양 끝 좌석에는 컵홀더가 하나씩 더 있다. 또, 이 극장에는 커플석이 있다. 커플석 사이에는 컵홀더가 없다. 극장의 한 줄의 정보가 주어진다. 이때, 이 줄..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dcgX6X/btrlQ0Tv759/O6vd9iJBxJkicgDlGVDHtk/img.png)
주어지는 수에서 숫자 몇 개를 지웠을 때 가장 크게 만들 수 있는 수를 구하는 문제 문제 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ K < N ≤ 500,000) 둘째 줄에 N자리 숫자가 주어진다. 이 수는 0으로 시작하지 않는다. 출력 입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다. 풀이 30분정도 고민해 봤는데 아이디어가 떠오르지 않아서 구글링 했습니다. 결과는...! 1. 최대한 큰 수가 앞으로 와야 하는데 그렇다고 무작정 가장 큰 수를 찾고 그 다음 큰 수를 찾고 ... 하는 식으로는 예제 2번부터 틀린다. 7 3 1231234 2. 그렇기 때문에..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/NKFJw/btrlFKXulew/KSGSGQpXlaUUFRFKAK8KB1/img.jpg)
컴퓨터 사이언스에 관해 공부한 내용을 정리한 글입니다. 1. 산술 논리 연산 장치(ALU : Arithmetic and Logic Unit) 제어 장치의 지시에 따라 실제 자료 처리가 이루어지는 곳. 4칙 연산, 논리 연산, 비교 연산, 자리 이동(shift) 등을 수행한다. 2. 산술 논리 연산 장치의 구성 가산기(adder), 레지스터(register), 보수기(complementary) 등으로 구성된다. 1) 누산기(ACC : accumulator) 연산 장치의 중심이 되는 레지스터. 초기에는 연산될 데이터의 보관 장소로 사용되며, 연산 후에는 산술 및 논리 연산 결과를 일시적으로 보관한다. => 연산 결과값을 일시적으로 기억 2) 데이터 레지스터(data register) 연산에 필요한 데이터가 ..
- Total
- Today
- Yesterday
- 기초
- 코딩공부
- hackerrank
- 스위프트플레이그라운드
- C언어기초
- 캐나다
- 다이나믹프로그래밍
- 영어공부
- 애플
- 문제풀이
- greedy
- 그리디
- 컴퓨터사이언스
- 알고리즘
- 컴퓨터
- 너비우선탐색
- 백준
- c++
- 해커랭크
- 아이패드
- 프로그래머스
- 캐나다생활
- 컴퓨터공부
- c언어
- dp
- BFS
- DFS
- 깊이우선탐색
- 하드웨어
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |