일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Map
- hackerrank
- ADAS
- python3
- Kotlin
- 백트래킹
- 스프링 프레임워크
- 연결리스트
- 머신러닝
- retrofit
- c
- 안드로이드
- 인코더
- 블로그개설
- 프로그래머스
- spring
- c++
- vue.js
- TensorFlow
- 카카오인코더
- DP
- Rebase
- 백준
- stl
- 스프링
- git
- BFS
- Android
- 프로그래밍
- 스프링프레임워크
- Today
- Total
목록Study (37)
이것저것 공부한 기록
https://www.hackerrank.com/challenges/ctci-ransom-note/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=dictionaries-hashmaps Hash Tables: Ransom Note | HackerRank Given two sets of dictionaries, tell if one of them is a subset of the other. www.hackerrank.com Hash / Map stl에 대해서 공부하기 위해 집어든 문제 갯수까지 파악해야한다는 조건을 첨에 못 봐서 문자열을 하나하나 비교하고 있었는데, 6 5 two times t..
조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 첨엔 규칙을 찾아보려고 발버둥을 쳤는데.. .... 그저 n+1부터 N과 1 갯수가 같은 수가 나올 때 까지 전부 탐색하면 되는 문제였다. 다만 탐색하는 방법을 좀 더 효율적으로 할 수 있을 것 같은데, 그게 영 안돼 ㅠ ; 범위라도 줄여서 구현했다. 원래는 n+1이라도 제외할까 했는데, 생각해보니 1의 다음 큰 숫자는 2라서 걍 패스. 하나 덜 본다고 줄일 수 있을 리도 없고. #include #include using namespace std; int main() { int ..
1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 백준 문제 풀다가 프로그래머스에서도 풀어봐야 할 것 같아서 사이트 이동. 전체적으로 좀.. 백준 문제보다 더러운 문제가 많구나 생각했는데 생각해보니 프로그래머스에서도 dp를 찾아서 풀면 깔끔한 문제가 많겠군 해서 음. 무튼 이 문제 자체는 굉장히 간단했다. 그러나 계산과정에..
https://www.acmicpc.net/problem/2011 앞의 자리수와 합쳐서 검사 안 해도 되니까 i-1을 더한다. 받은 수와 앞자리를 합쳐서 10보다 크고 26보다 작다 -> 앞의 자리수랑 합쳐서 생각해야되니까 i-2를 더한다 -> 두가지 모두 만족하지 못할 경우는 즉시 계산을 종료한다. 정도로 짜볼 수 있겠습니다~~~ 이래저래 정리해서.. 코드를 짜면 됩니다. 더러워서 맘에 안들지만... 더 생각하기 싫었다. #include int main(void) { int cnt; int pass[5001][2] = { 0, }; scanf("%1d", &pass[1][0]); cnt = 1; if (pass[1][0] != 0) { pass[1][1] = 1; pass[0][1] = 1; } whi..
https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 문제 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. 입력 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다. 출력 첫째 줄에 경우의 수를 출력한다. 예제 입력 1 복사 2 예제 출력 1 복사 3 힌트 아래 그림은 3×12 벽을 타일로 채운 예시이다.... www.acmicpc.net .... 이전 타일문제들과 똑같이 풀면 되는줄 알았는데......... 후 일단 홀수에서는 안 구해도 되니까 0으로 제외. 3X2에서는 이렇게 DP[2] = 3 3X4에서는 3X2옆에 3X2가 붙는 경우 + 3X4에서만 나오는 모양 2개 DP[4] = DP[2]*3 + 2 그리고... 6으로 가면 DP[4..
https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다. 이 경우, 수학자 숌크라테스는 “11은 3개 항의 제곱수 합으로 표현할 수 있다.”라고 말한다. 또한 11은 그보다 적은 항의 제곱수 합으로 표현할 수 없으므로, 11을 그 합으로써 표현할 수 있는 제곱수 항의 최소 개수는 www.acmicpc.net 와 나는 해설을 보고 설명을 들어서 겨우 푸는데 이걸 걍 풀어내는 사람들은 대체.. 어떻게 푸는거지? 아니 이 문제를 만드는 사람은 어..
https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고 www.acmicpc.net 술 문제가 나와서 정말 기뻤는데 후... 효주친구... 술 많이 먹여주고 싶었지만 네 번이나 실패했다. 아니 6잔이 놓여있으면~~ 다..
https://www.acmicpc.net/problem/9465 9465번: 스티커 문제 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다. 상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점 www.acmicpc.net 비쥬얼스튜디오에서는 큰 배열이 안 돌아가서 작게해서 코드짜다가 그대로 제출해서 나오는 런타임 에러..... \n안넣어서 틀리기.... 개화..