공백을 포함하여 문자열을 여러 줄 입력 받고 싶을 때
대문자를 소문자로 변형하는 함수 -> tolower 사용
단순 무식하게 탐욕적으로 문제를 푸는 알고리즘현재 상황에서 지금 당장 좋은 것만 고르는 방법정렬+그리디 -> 자주 출제당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정한다.
다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙이다. 단, 배열의 특정한 인덱스에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다.예를 들어 순서대로 2,4,5,4,6으로 이루어진 배열이 있을
숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다.게임의 룰1\. 숫자가 쓰인 카드들이 N\*M 형태로 놓여 있다. 이때 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다.2\. 먼저 뽑고자 하는 카드가 포함되어 있
어떠한 수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다. 단, 두 번째 연산은 N이 K로 나누어 떨어질 때만 선택할 수 있다.1\. N에서 1을 뺀다.2\. N을 K로 나눈다.
데이터를 특정한 기준에 따라서 순서대로 나열하는 것오름차순이나 내림차순 등 어떤 식으로든 정렬해서 사용하는 경우가 많다.가장 작은 것을 선택한다는 의미1회전: 전체 데이터 중 가장 작은 데이터를 선택한다. '3'맨 앞에 있는 '9'와 '3'을 바꾼다.2회전: 정렬된 첫
선택 정렬은 알고리즘 풀이에 사용하기에는 느린 편이다.선택 정렬에 비해 실행 시간 측면에서 더 효율적인 알고리즘으로 알려져 있다.특히, 데이터가 거의 정렬되어 있을 때 훨씬 효율적임.특정한 데이터를 적절한 위치에 '삽입'한다는 의미에서 삽입 정렬이라고 한다.특정한 데이
항상 최악인 경우에도 O(NlogN)을 보장한다.3가지 유형1\. 정렬 라이브러리로 풀 수 있는 문제2\. 정렬 알고리즘의 원리에 대해서 물어보는 문제: 선택 정렬, 삽입 정렬, 퀵 정렬 등의 원리를 알아야만 풀 수 있는 문제3\. 더 빠른 정렬이 필요한 문제: 계수
하나의 수열에는 다양한 수가 존재한다. 이러한 수는 크기에 상관없이 나열되어 있다. 이 수를 큰 수부터 작은 수의 순서로 정렬해야 한다. 수열을 내림차순으로 정렬하는 프로그램을 만드시오.첫째 줄에 수열에 속해 있는 수의 개수 N이 주어진다. (1<=N<=50
N명의 학생 정보가 있다. 학생 정보는 학생의 이름과 학생의 성적으로 구분된다. 각 학생의 이름과 성적 정보가 주어졌을 때 성적이 낮은 순서대로 학생의 이름을 출력하는 프로그램을 작성하시오.첫 번째 줄에 학생의 수 N이 입력된다. (1<=N<=100,000)
동빈이는 두 개의 배열 A와 B를 가지고 있다. 두 배열은 N개의 원소로 구성되어 있으며, 배열의 원소는 모두 자연수이다. 동빈이는 최대 K번의 바꿔치기 연산을 수행할 수 있는데, 바꿔치기 연산이란 배열 A에 있는 원소 하나와 배열 B에 있는 우너소 하나를 골라서 두
가장 기본 탐색 방법 -> 구현도 간단리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법데이터의 정렬 여부와 상관없이 가장 앞에 있는 원소부터 하나씩 확인해야 한다는 점이 특징이다.최악의 경우 시간 복잡도 O(N)이다.반으로
이진 탐색은 전제조건이 데이터 정렬이다.DB는 내부적으로 대용량 데이터 처리에 적합한 트리 자료구조를 이용하여 데이터가 정렬되어 있다.트리는 부모 노드와 자식 노드의 관계로 표현된다.최상단 노드: 루트노드최하단 노드: 단말노드트리에서 일부: 서브 트리계층적이고 정렬된
동빈이네 전자 매장에는 부품이 N개 있다. 각 부품은 정수 형태의 고유한 번호가 있다. 어느 날 손님이 M개 종류의 부품을 대량으로 구매하겠다며 다음 날 견적서를 요청했다. 동빈이는 때를 놓치지 않고 손님이 문의한 부품 M개 종류를 모두 확인해서 견적서를 작성해야 한다
오늘 동빈이는 여행 가신 부모님을 대신해서 떡집 일을 하기로 했다. 오늘은 떡볶이 떡을 만드는 날이다. 동빈이네 떡볶이 떡은 재밌게도 떡의 길이가 일정하지 않다. 대신에 한 봉지 안에 들어가는 떡의 총 길이는 절단기로 잘라서 맞춰준다.절단기에 높이(H)를 지정하면 줄지
머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다.모든 경우의 수를 다 계산하는 해결 방법문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야 하는 문제 유형
여행가 A는 N\*N크기의 정사각형 공간 위에 서 있다. 이 공간은 1 1 크기의 정사각형으로 나누어져 있다.가장 왼쪽 위 좌표는 (1,1)이며, 가장 오른쪽 아래 좌표는 (N,N)에 해당한다. 여행가 A는 상, 하, 좌, 우 방향으로 이동할 수 있으며, 시작 좌표는
가장 마지막에 들어간 데이터가 맨 위에 쌓이고, 데이터를 가져올 때 맨 위에 쌓인 데이터를 먼저 빼내야 한다.스택에 데이터를 넣는다. 들어간 데이터는 스택의 맨 위(top)에 위치한다.스택의 맨 위에 위치한 데이터에 접근한다.스택의 맨 위에 위치한 데이터를 빼낸다.스택
큰 수를 작은 수로 mod 연산을 한다.mod연산의 결과가 0이 나올 때까지 반복한다.이 때 나누는 수로 사용된 수가 두 수의 최대공약수가 된다.코드로 구현하면최대공약수 \* 최소공배수 = 두 수의 곱최소공배수 = 두 수의 곱 / 최대공약수백준 2609전체 코드
key와 value값이 저장되는 형태의 페어 객체로 저장된다.중복 허용을 하지 않는다.map은 자료를 저장할때 자동 정렬된다.key를 기준으로 오름차순 정렬내림차순 시: map <int, int, greater> map1;헤더 포함map 선언하기searchmap에