분류 전체보기

알고리즘 문제 풀이

[Java] 백준 2504 : 괄호의 값

[Java] 백준 2504 : 괄호의 값 난이도 🥈실버1 https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X www.acmicpc.net ‘()’ 인 괄호열의 값은 2이다. ‘[]’ 인 괄호열의 값은 3이다. ‘(X)’ 의 괄호값은 2×값(X) 으로 계산된다. ‘[X]’ 의 괄호값은 3×값(X) 으로 계산된다. 올바른 괄호열 X와 Y가 결합된 XY의 괄호값은 값(XY)= 값(X)+값(Y) 로 계산된다. 접근1 (()[[]])([]) (()[[]]) -> 2*(2 + (3..

알고리즘 스터디

02: 연결리스트

01: 연결리스트 1. 연결리스트란? 연결 리스트(LinkedList)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조입니다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당합니다. Node는 LinkedList에 객체를 추가하거나 삭제하면 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않습니다. 중간에 데이터를 추가나 삭제하더라도 전체의 인덱스가 한 칸씩 뒤로 밀리거나 당겨지는 일이 없기에 ArrayList에 비해서 데이터의 추가나 삭제가 용이하나, 인덱스가 없기에 특정 요소에 접근하기 위해서는 순차 탐색이 필요로 하여 탐색 속도가 떨어진다는 단점이 있습니다. 그러므로 탐색 또는 정렬을 자주 하는 경우엔 배열을 사용하고 데이..

알고리즘 스터디

01: 배열과 문자열

01: 배열과 문자열 1. 해시테이블 연결리스트와 해시 코드 함수를 활용한다. 1. 키의 해시코드를 계산한다. 배열의 인덱스 구하기 -> hash(key) % array_length 키의 개수는 무한하지만 자료형의 개수는 유한하므로 서로 다른 두 개의 키가 같은 해시 코드를 가리킬 수 있다. 2. 인덱스마다 키와 값으로 이루어진 연결리스트가 저장된다. 위와 같은 충돌 사항에 대해 방지하기 위함이다. 3. 키에 상응하는 값 찾는 과정 해시코드로 인덱스를 계산 -> 키에 상응하는 값을 연결리스트에서 탐색 2. ArrayList와 가변 크기 배열 자바의 경우 Array배열은 길이가 고정되어 있으므로 선언시에 크기를 함께 지정해야 한다. String[] arr1 = new String[5]; int[] arr2..

알고리즘 문제 풀이

자바 코테용 문법 정리

자바 코테용 문법 정리 라이브러리 땡겨오기 import java.util.*; import java.io.*; 배열 선언 String[] arr1 = new String[5]; int[] arr2 = {1, 2, 3}; int N = 3; int[] arr3 = new int[N]; Arrays int arr[] = {10, 8, 11, 2, 3, 0}; // 오름차순 {0, 2, 3, 8, 10 ,11} Arrays.sort(arr); // 내림차순 {11, 10 , 8, 3, 2, 0} Arrays.sort(arr, Collections.reverseOrder()); // int 타입 배열 내림차순(Integer로 변경 필요) Integer arr2[] = Arrays.stream(arr).boxed..

CS 공부/컴퓨터 네트워크

컴퓨터 네트워크 10 : 데이터 링크 계층과 이더넷 프로토콜

컴퓨터 네트워크 10 : 데이터 링크 계층과 이더넷 프로토콜 데이터 링크층 랜에서 데이터를 어떤 형태로 받아서 보내야할지를 결정하는 구간 네트워크 장비 간에 신호를 주고받는 규칙(프로토콜)에 대해 정해놓는 계층. -> 가장 많이 사용되는 규칙이 바로 이더넷 네트워크 장비들 1. 허브 데이터를 주고 받는 컴퓨터 외에도 허브에 연결된 다른 모든 컴퓨터에게 데이터를 전송함. 목적지 MAC주소와 자신의 호스트 MAC주소와 다를 경우 데이터를 파기하고 같을 경우 데이터 수신함. 따라서 여러 컴퓨터가 동시에 데이터를 보낼 때 충돌 현상이 나타날 수 있음. 이렇게 회선 하나로 송수신을 번갈아가며 하는 방식을 반이중 통신이라고 함. 이를 해결하기 위해 데이터가 동시에 케이블을 지나가지 않도록 데이터 보내는 시점을 늦추..

문제 해결

PDF 다크모드로 보는 방법 Dark Reader

PDF 다크모드로 보는 방법 크롬 확장 프로그램인 Dark Reader를 활용하여 pdf 파일을 웹사이트에서 다크모드로 볼 수 있는 방법을 소개드리고자 합니다! 제가 시험해보니까 크롬에서는 pdf 편집 기능이 부실했기 때문에 edge 브라우저에서 이 확장 프로그램을 활용하는 것을 추천드립니다. 1. Dark Reader 확장프로그램 설치 Edge 브라우저를 연다음 확장 탭에서 확장 관리를 선택합니다. Microsoft Edge용 확장 가져오기를 클릭합니다. 2. 외부 url 설정 적용 edge에서 pdf 파일을 열람합니다. 브라우저로 드래그 하면 브라우저에서 열람이 가능합니다. 확장 프로그램이 설치되었더라도, 외부 url에 대한 접근을 허용하지 않으면 다크모드가 적용되지 않습니다. 파일 URL에 대한 엑..

자바스크립트

자바스크립트 요약 정리1

자바스크립트 요약 정리1 || 연산자: bool이 아닌 자료에 이용하기 A||B에서 A가 참이면 A를, 거짓이면 B를 return 배열 선언 법 let info=[123, "홍길동", true, 19.2]; let info2=new Array(); info2[0]=2; info2[3]=4; * 할당 안된 인덱스에는 undefined 출력 다른 방식의 예 concat, join, slice는 비파괴적 메소드 array.join("구분자") : 배열안의 모든 요소를 문자열로 만들어 return하되, 구분자로 각 요소들을 구분한다. slice(beginIndex, endIndex(미포함)) splice(startIndex, deleteCount, item1, item2 ...) let months = ["Ja..

알고리즘 문제 풀이

[C++] 백준 1931: 회의실 배정

[C++] 백준 1931: 회의실 배정 🥈 실버 1 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 접근 이미 진행중인 회의가 있다면, 다음 회의로 현재 회의가 끝나는 시간과 가장 가까운 회의가 선택되어야 최댓값을 가질 수 있다. 반복문을 한번만 돌려서 이를 효과적으로 구현하기 위해서는 입력된 값을 어떤 기준을 삼아 정렬시킬 필요가 있다. 위의 예제 입력 케이스를 참고하여 x축을 회의 시간으로 해서 나타내면 아래와 같다. 예제에서 입력 값들을 어떻게 정렬해야 할지에 대한 힌트를 주고 있었다. 회의가 끝나는 시간을 기준으로 입력받은 pair의 값을 정렬하면 된다..

알고리즘 문제 풀이

[C++] 백준 16953: A -> B

[C++] 백준 16953: A -> B 🥈실버 2 https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A 81 -> 8 -> 4 -> 2와 같이 흘러간다. 이렇게 보면 규칙을 쉽게 찾을 수 있다. 1. B가 2로 나눠지는 경우 2로 나누고 count++ 2. B가 2로 안나눠지는데 맨 오른쪽에 1이 있으면 1지우고 count++ 3. B가 2로 안나눠지는데 맨 오른쪽에 1도 없으면 그냥 안되는 거라서 -1 출력 후 프로그램 종료 예제 케이스 4..

알고리즘 문제 풀이

[C++] 백준 1541: 잃어버린 괄호

[C++] 백준 1541: 잃어버린 괄호 🥈실버 2 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 접근 1. -가 나타나기 전까지는 모든 값을 그냥 더해두고, - 이후의 숫자들은 모두 뺄셈처리 한다. 괄호를 한번 친다고 가정할 때, - 이후에 모든 값을 괄호로 묶는 것이 가장 최솟값이 나오는 방법이기 때문이다. 55-50+40 -> 55-(50+40) -> 55 - 50 - 40 해결방법은 찾았으나 구현을 어떻게 할지가 고민이었다. 1...

알고리즘 문제 풀이

[c++] 백준 20365: 블로그2

[c++] 백준 20365: 블로그2 🥈실버 3 https://www.acmicpc.net/problem/20365 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 접근 빨간색, 혹은 파란색으로 전체를 칠해놓고, 나머지 색으로 다른 색상이 필요한 부분을 칠해주는 것이 최소의 값이 된다. 문제는 어떤 색으로 전체를 칠할 것이냐였다. 두 색중에 더 많은 색이 나타나는 것을 바탕색으로 칠하고, 더 적게 나타나는 색으로 나머지 부분을 칠하는 것이 최소가 될 것이라고 판단했다. 1. 입력값에서 R과 B의 개수를 알아낸..

알고리즘 문제 풀이

[c++] 백준 20300: 서강근육맨

[c++] 백준 20300: 서강근육맨 🥈실버 3 https://www.acmicpc.net/problem/20300 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 접근 N이 짝수일 때와 홀수일 때를 구분해서 코드를 작성해야 한다. 먼저, 입력받은 값을 내림차순으로 정렬시켜보자. 5 4 3 2 1 9개의 운동기구가 있는 경우에도 PT를 5번 받지만, 마지막 PT를 받을 때는 운동기구를 하나만 사용한다. N이 홀수인 경우에는, 가장 먼저 오는 운동기구는 반드시 하나만 사용해야 한다. 5를 따로 때놓고, 나머지 4 3 2 1의 경우..

lazarus0320
'분류 전체보기' 카테고리의 글 목록 (4 Page)