일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2018 KAKAO BLIND RECRUITMENT
- 1620
- Hasing
- 숫자 문자열과 영단어
- 5525
- 소수 체크
- codeSyntaxHighlight
- js
- n^2 배열 자르기
- colorSyntax
- react
- 10162
- 프로그래머스
- 정수 삼각형
- 다이내믹 프로그래밍
- Git Convention
- 깊이 우선 탐색
- 위클리 챌린지
- 이분탐색
- 주식 가격
- 브루트포스 알고리즘
- 없는 숫자 더하기
- 4796
- 구간 합 구하기 4
- mermaid js
- 18111
- javascript
- C++
- BOJ
- 옵셔널 체이닝 연산자
- Today
- Total
목록Algorithm/Programmers(c++) (86)
개발하는 kim-hasa
https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr 특정 2차원 배열에 숫자를 채우고 , 숫자를 채운 배열을 1차원 배열로 바꿉니다. 그리고 특정 인덱스부터 인덱스까지의 수를 정답 배열에 넣어서 출력하는 문제입니다. 그냥 2차원 배열을 만들고자 하면 , 2차원 배열의 크기가 너무 커서 만들어지지 않습니다. 특정 규칙을 찾아서 푸는 문제입니다. left라는..
https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 덜 매운 음식 두개를 합쳐서 모든 음식을 특정 스코빌 지수 이상으로 만드는 문제입니다. 여기서는 우선순위 큐를 오름차순으로 구현했습니다. 우선순위 큐에서 앞에 두개를 제거해서 새로 만들어서 넣어주고 비교하는 방식으로 풀었습니다. 우선 순위 큐를 적극적으로 사용하고 나서 쉽게 풀리는 문제들이 많이 있는 것 같습니다. #include #include #..
https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 특정 2진수에서 0을 제거하고 1의 개수를 2진수로 변환해서 1이 될 때까지 반복하는 문제입니다. 2진수의 1의 개수를 카운트하고 0의 개수를 더해줍니다. 1의 개수가 1개라면 반복문을 빠져나오고, 그렇지 않다면 다시 2진수로 변경해서 계산합니다. #include #include #include using namespace std; vector solution(string s) { vector answer; int count = 0; int zerocount = 0; string str = s; while(true) { int one..
https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 배열에 없는 숫자를 더하는 문제입니다. 쉽게 생각하면, 모두 더한 후 있는 숫자를 빼게 되면 없는 숫자의 합이 나옵니다. #include #include using namespace std; int solution(vector numbers) { int answer = 45; for(int i=0; i
https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 8주차 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 명함들이 들어가는 사각형의 명함지갑을 만드는 문제입니다. 예시에서와 같이 돌리면 되는 경우가 있으므로, 처음에 두 변 중에서 큰 것과 작은 것을 구분합니다. 작은 것은 작은 것끼리 비교해서 가장 큰 것을, 큰 것은 큰 것끼리 비교해서 가장 큰 것을 구합니다. 그 두 수를 곱하면 모든 명함이 들어가는 최소의 명함지갑의 사이즈를 구할 수 있습니다. #include #incl..
https://programmers.co.kr/learn/courses/30/lessons/12938 코딩테스트 연습 - 최고의 집합 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만 programmers.co.kr 자연수 n개를 더해서 s가 되야하는 집합 중 곱했을 때 가장 큰 수가 나오는 집합을 리턴하는 문제입니다. 모두가 같은 수 혹은 근접한 수일 때 가장 큰 값이 나옵니다. 가장 먼저 s값을 n으로 나누고 , 그 몫을 벡터에 넣습니다. 그 후 나머지를 구해서 뒤에서부터 나머지의 숫자만큼 1씩 증가시킵니다(오름차순 정렬 때문에). #includ..
https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 괄호가 주어진 stirng을 회전시키면서 올바른 괄호인지 아닌지 확인하는 문제입니다. 가장 먼저 벡터로 string을 분리한 후, 시작 index를 증가시켜 가면서 확인합니다. 스택에서 넣으면서 비교하는데 , 올바른 문자열이라면 pop시키면서 마지막에 stack이 비게됩니다. 올바르지 않다면 중간에 멈추고 find변수를 false로 만듭니다. 또는 완료시 스택이 비어있지 않다면 올바르지 않은 괄호가 됩니다. 올바른 괄호시 answer를 증가시킵니다. #include #include #include using namespace std; in..
https://programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr 자연수 n을 2진수로 바꾼 후, 1의 개수를 똑같이 해서 다음으로 큰 2진수를 구하는 문제입니다. 가장 마지막 자리가 1인 경우와 2인 경우로 나눌 수 있습니다. 가장 마지막 자리가 1인 경우, 0이 나올때까지 탐색해서 0을 1로 바꾸고 그 전 자리를 0으로 바꾸면 그 다음 수 입니다. 만약 1로만 이루어진 경우, 한자리를 추가하..
https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 뉴스에서 자카드 유사도를 검사하는 문제입니다. 가장 먼저 모든 문자를 대문자로 변경한 후 2개의 문자로 분리합니다. 이때 둘다 알파벳인 경우에만 분리됩니다. 각각의 벡터에 넣고 벡터의 사이즈를 구합니다. 이때 모두 0이라면, 0/0 = 1 로 1을 리턴합니다(실제로는 1 * 65536 해서 65536) 한 가지만 0이라면, 같은게 없으므로 ..