분류 전체보기 234

프로그래머스 - 가장 큰 수

테스트 케이스는 통과하는데 채점에서는 시간초과 오류가 발생한다. dfs를 먼저 떠올렸는데 여기서 사용하기에는 적당한 방법이 아닌가보다. #include #include #include using namespace std; int visit[100000]; vector v; vector v3; vector v2; string temp=""; bool Standard(string A, string B) { if (A + B > B + A) return true; return false; } void dfs(vector n ,int count){ if(n.size() == count){ // 벡터 사이즈만큼 temp에 순열을 붙인 문자열을 만들게 됐을때 for(int i=0;i

알고리즘 2020.04.13

프로그래머스 - 정수 삼각형

문제설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 이 문제는 백준사이트에서도 풀어봤었다. (물론 그때는 오류가 나서 성공은 못했다.) 그래서 이번에는 맞춰버리겠다는 생각으로 풀어봤다. dp 문제였는데 거쳐간 숫자의..

알고리즘 2020.04.12

프로그래머스 - 큰 수 만들기

문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 1자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 문제 설명과 제한 조건은 위와 같다. 입출력 예는 이렇다. 처음에..

알고리즘 2020.04.12

인터페이스와 추상클래스 설명 및 차이점

프로젝트를 하다가 한번쯤 써봤던 인터페이스와 추상클래스지만 항상 비슷한거 같은데..? 라고만 생각하고 제대로 된 차이를 알아본 적이 없었던 것 같아서 이번 기회에 정리를 해보려고 합니다. 먼저 각자 어떤 특징을 가지고 있는지 간단히 알아봅시다. 1. 특징 - 추상클래스(Abstract Class) 특징 클래스는 크게 일반 클래스와 추상 클래스로 나눌 수 있습니다. 그 중에서 추상 클래스는 클래스 내부에 '추상 메소드'가 하나 이상 포함되거나 abstract 로 정의된 경우를 의미합니다. 또한 다른 클래스들처럼 생성자, 필드 , 일반메소드도 포함 할 수 있습니다. - 인터페이스(Interface) 특징 인터페이스는 모든 메소드가 추상 메소드로 가지고 있습니다. 또한 상수를 가질 수 있습니다. (자바8에서는..

Java 2020.04.11