전체 글 (248) 썸네일형 리스트형 [C++] 백준 2839번 : 설탕 배달 (B1) #문제 www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그�� www.acmicpc.net #풀이 이 문제는 dp를 통해 해결하는 문제이다. Nkg 최적화 문제를 N-3kg 최적화 문제와 N-5kg 최적화 문제를 통해 답을 도출하는 optimal substructure로 구현했다. 기본적인 구현은 쉬웠지만, 정확하게 N킬로그램을 만들 수 없을 때 -1을 출력하게 만드는 것에서 약간 고민을 해야했다. 문제를 해결한 뒤 다른 분의 dp풀이(링크) 코드를 봤는데, 훨씬 깔끔했다. 나는 3을 빼고 5를 빼는.. [C++] 백준 2750번 : 수 정렬하기 (S5) #문제 www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net #풀이 시간복잡도가 O(n²)인 정렬 알고리즘을 구현하는 문제이다. 시간복잡도가 O(n²)인 정렬 알고리즘에는 Insertion Sort, Selection Sort, Bubble Sort가 있고, 이들을 각각 모두 구현해 보았다. Insertion Sort(삽입 정렬)은 index를 1부터 n-1까지 이동시키며 해당되는 위치의 값을 임시저장한 후, 적합한 자리를 찾기 위해 정렬된 부분인 앞쪽으로 비교해간다... [C++] 백준 2751번 : 수 정렬하기 2 (S5) #문제 www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net #풀이 이번 문제는 C++ STL sort()함수를 통해 해결하였다. sort()는 algorithm헤더에 포함되어 있으며, 기본적으로 오름차순 정렬을 수행한다. 인자로는 배열의 시작주소와, 배열의 마지막주소+1을 전달하면 된다. 이때 sort()에 세번째 인자로 함수를 넣어주면 그 함수의 반환 값에 따라 정렬이 동작한다. ex) bool compare(int a, int b){ return.. [C++] 백준 11286번 : 절댓값 힙 (S1) #문제 www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0� www.acmicpc.net #풀이 이 문제는 최소힙을 변형한 문제이다. 처음에 최소힙문제에서 비교부분만 abs()를 씌워서 해결하면 되는 줄 알았지만 그렇게 쉽게 해결되지 않았다. 절댓값 힙은 기본적으로 절댓값이 작은 원소일수록 위에 있지만, 절댓값이 같고 부호가 다르면 음수인 값이 위에 있어야 한다. push후 재정렬과 pop후 재정렬 중에서도 마지막에 좌측자식노드만 있는 경우는 형제 노드를 고려할 필요가.. [C++] 백준 1927번 : 최소 힙 (S1) &11279번 : 최대 힙 (S2) #문제 www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이� www.acmicpc.net www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이� www.acmicpc.net #풀이 Min/Max heap을 구현해야 하는 문제들이다. 힙은 배열을 .. Lecture 09: Object-Oriented Programming (3) - OOP의 Four Principle Encapsulation(캡슐화): restricting access to public methods Abstraction(추상화): use of Inerface Inheritance(상속): parent, child class Polymorphism(다형성): overloading, overriding - Interface는 abstract 개념을 구현한 것이다. specification만 존재하고 implement는 없다. - Interface안의 메소드는 아무것도 안쓰면 기본이 Public, abstract(구현은 되어있지 않음)이다. Class와 다르다는 점 주의하자(class에서 앞의 아무것도없으면 같은 패키지내의 클래스들만 접근가능하다) - Interfa.. Lecture 08: Object-Oriented Programming (2) - Object를 array로 선언할 수 있다. 처음에 자리들만 생성해주고 각각 new를 해줘야 한다. 1 2 3 4 Employee m[] =new Employee[3]; m[0] = new Employee("Mario"); m[1] = new Employee("Luigi"); m[2] = new Employee("Toad"); cs - Instance Variable에 초기값을 할당해줄수있다. 초기화 안하면 디폴트값(0,null,false)로 초기화된다. ex) private String name = "Joe"; - Method안의 Local variable은 반드시 초기화 해줘야한다. 아니면 에러발생한다. - Instance variable에 final keyword를 사용하면 variable은 생.. Lecture 07: Object-Oriented Programming (1) - Java에서 대부분의 variable과 literal은 object이다. (Primitive type 존재) - Object는 Class의 Instance이다. - 하나의 java파일에는 여러개의 class가 있을 수 있으나, public class는 파일이름과 같은 class 하나만 가능하다. class 앞에 아무선언도 없으면 같은 패키지 내의 클래스만 접근가능하다. - public class는 main method를 포함하고, 이것이 프로그램의 시작포인트이다. - Class안에는 크게 Variable과 Method가 존재한다. - Class의 Variable과 method에는 Access Modifier가 있다. X: same package의 class들은 접근가능 public: 모든 class .. 이전 1 ··· 23 24 25 26 27 28 29 ··· 31 다음