분류 전체보기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/136798?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 class Solution { public int solution(int number, int limit, int power) { int[] count = new int[number + 1]; for (int i = 1; i
결과 해석 ArrayList 클래스의 동작 방식을 이해했으니 이를 바탕으로 add 메서드가 끝에 한 개 요소를 추가할 때 상수 시간이 걸린다는 것을 예상할 수 있다. 따라서 n개 요소를 추가하는 전체 시간은 선형이다. 이 이론을 테스트하고자 문제 크기 대비 실행시간을 그래프로 그려보고 문제 크기가 측정에 적당할 만큼 충분히 클 때 직선을 이루는지 알아보자. 수학적으로는 이 직선의 함수를 다음과 같이 구할 수 있다. 실행시간 = a + bn 여기서 a는 Y 절편이고, b는 기울기이다. 한편 add 메서드가 선형이면 n번 추가하는 전체 시간은 이차가 된다. 문제 크기 대비 실행시간을 그래프로 그리면 포물선을 예상할 수 있다. 수식은 다음과 같다. 실행시간 = a + bn + cn² 완벽한 데이터가 있다면 직..
>>>>>>> 소스코드.git 그래프를 보기 위해 Profile 클래스가 있다. 이 클래스는 문제 크기의 범위를 인자로 받아 실행하는 코드를 포함하며 실행시간을 측정하고 결과를 그래프에 출력한다. Profile 클래스를 사용하면 ArrayList와 LinkedList 클래스에 있는 add 메서드의 성능을 분류할 수 있다. 다음 코드를 보자. (ProfileListAdd.java) public static void profileArrayListAddEnd() { Timeable timeable = new Timeable() { List list; public void setup(int n) { list = new ArrayList(); } public void timeMe(int n) { for (int ..
>>>>>>> 소스코드.git indexOf 메서드를 살펴보자. (MyLinkedList.java) public int indexOf(Object target) { Node node = head; for (int i = 0; i < size; i++) { if (equals(target, node.cargo)) { return i; } node = node.next; } return -1; } 초기에 node 변수는 head의 사본을 얻는다. 따라서 둘은 같은 Node를 참조한다. 반복문 변수인 i는 0에서 size-1까지 반복한다. 각 반복에서 equals 메서드를 호출하여 목적 값을 찾았는지 확인한다. 찾았다면 i를 즉시 반환하고 그렇지 않으면 다음 Node로 넘어간다. 보통 다음 Node가 null..
>>>>>>> 소스코드.git 다음 소스코드를 살펴보자. (MyLinkedList.java) public class MyLinkedList implements List { private int size; // 요소의 개를 추적합니다 private Node head; // 첫 번째 노드에 대한 참조입니다 public MyLinkedList() { head = null; size = 0; } 주석에 나와 있는 대로 size 변수는 MyLinkedList에 있는 요소 개수를 추적하고, head 변수는 리스트의 첫 번째 노드를 참조하거나 리스트가 비었으면 null이다. 요소 개수를 꼭 저장할 필요는 없다. 그리고 일반적으로 중복 정보를 유지하는 것은 위험한데, 정보를 올바르게 갱신하지 않으면 리스트를 순회하여 ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; int zeroCount = 0; int sameCount = 0; for (int i = 0; i < lottos.length; i++) { if (lottos[i] == 0) { zeroCount++; }..
태기
'분류 전체보기' 카테고리의 글 목록 (14 Page)