목록분류 전체보기 (239)
사고쳤어요
링크: https://www.acmicpc.net/problem/13144문제길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라.입력첫 번째 줄에는 수열의 길이 N이 주어진다. (1 ≤ N ≤ 100,000)두 번째 줄에는 수열을 나타내는 N개의 정수가 주어진다. 수열에 나타나는 수는 모두 1 이상 100,000 이하이다.출력조건을 만족하는 경우의 수를 출력한다.풀이굉장히 간단하면서 까다로운 문제이다.만약 10만개의 수에 대하여 1~10만개의 집합을 일일히 구하면 10만*10만으로 시간 초과가 발생할 것이다. 그렇기에 큐를 통해 숫자들이 중복하지 않도록 유지하며 O(n)으로 문제를 풀어야 한다. (투 포인..
링크: https://school.programmers.co.kr/learn/courses/30/lessons/258707 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이매 라운드마다 할 수 있는 선택지는 다음과 같다.1) 뽑은 두 장의 카드를 모두 버린다.2) 뽑은 두 장의 카드 중 한 장의 카드(a)만 가져온다.3) 2에서 가져온 카드 a 외의 다른 한 장의 카드(b)만 가져온다.4) 두 장의 카드(a, b) 모두 가져온다. 위 선택지를 모두 계산해가며 모든 경우의 수를 계산하면 시간 초과가 발생한다.이보다 더 효율적으로 생각하여 문제를 접근해보자. 카드를 버린다고 생각하지 말고, 선택한다 생각하자.이 문..
링크: https://www.acmicpc.net/problem/1017문제지민이는 수의 리스트가 있을 때, 이를 짝지어 각 쌍의 합이 소수가 되게 하려고 한다. 예를 들어, {1, 4, 7, 10, 11, 12}가 있다고 하자. 지민이는 다음과 같이 짝지을 수 있다.1 + 4 = 5, 7 + 10 = 17, 11 + 12 = 23또는1 + 10 = 11, 4 + 7 = 11, 11 + 12 = 23수의 리스트가 주어졌을 때, 지민이가 모든 수를 다 짝지었을 때, 첫 번째 수와 어떤 수를 짝지었는지 오름차순으로 출력하는 프로그램을 작성하시오. 위의 예제에서 1 + 12 = 13으로 소수이다. 그러나, 남은 4개의 수를 합이 소수가 되게 짝지을 수 있는 방법이 없다. 따라서 위의 경우 정답은 4, 10이다..
https://school.programmers.co.kr/learn/courses/30/lessons/258705?language=cpp 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이DP를 활용하여 문제를 풀어야겠다는 것은 쉽게 알 수 있지만, 어떻게 활용해야 하는지 고민하게 만드는 문제이다. 먼저 맨 왼쪽 아래 삼각형을 기본으로 삼고, 높이가 1일 때와 0일 때를 구분하면 [1, 1, 0, 1]을 위와 같이 표현할 수 있다. 이어서 높이가 1인 타일을 추가할 때 경우의 수에 대해서 생각해보자.먼저 높이가 1인 타일을 칠하는 방법은 위 그림의 1, 2, 3번 3가지이다.따라서 (이전 타일을 칠하는 경우의 ..
링크: https://www.acmicpc.net/problem/1562문제 45656이란 수를 보자.이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다.N이 주어질 때, 길이가 N이면서 0부터 9까지 숫자가 모두 등장하는 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. 0으로 시작하는 수는 계단수가 아니다.입력첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다.출력첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.힌트참고로, N=1일때부터, N=40일 때 까지 답을 모두 더하면 126461847755이 나온다.풀이자릿수별로 답을 저장하는 이차원 DP?처음에는 N=10일 때 "9876543210"만 가능하므로, 이를 ..
링크: https://www.acmicpc.net/problem/6549문제히스토그램은 직사각형 여러 개가 아래쪽으로 정렬되어 있는 도형이다. 각 직사각형은 같은 너비를 가지고 있지만, 높이는 서로 다를 수도 있다. 예를 들어, 왼쪽 그림은 높이가 2, 1, 4, 5, 1, 3, 3이고 너비가 1인 직사각형으로 이루어진 히스토그램이다.히스토그램에서 가장 넓이가 큰 직사각형을 구하는 프로그램을 작성하시오.입력입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ 1,000,000,000)가 주어진다. 이 숫자들은 히스토그램에 있는 직..
졸업을 한 뒤로 정보처리기사 시험을 바로 신청하여 응시하였습니다. 정기 기사 시험은 1년에 3번뿐이고, 8월 이후로는 시험이 없기 때문에 유의하여 신청해야 합니다. 필기준비 기간: 3일교재: 없음공부방식: 기출 풀이 반복 및 오답노트 필기는 5과목으로 구성되어 있으며 과목당 4지선다 객관식 20문제, 총 100문제로 대부분이 문제은행 방식으로 진행되기 때문에 기출만 보더라도 어렵지 않게 합격할 수 있습니다.합격 기준은 5과목 모두 최소 40점 이상, 평균 60점 이상을 만족해야 합니다. (평균이 70점이라도 한 과목이 30점이라면 불합격) 시험은 컴퓨터 CBT로 실시되며 모든 문제를 풀고 나면 즉시 점수가 나오고 합불 유무를 알 수 있습니다.또한 시험장에서 연습지 한 장을 배부해주어 활용할 수 있으니, ..
https://pptr.dev/ Puppeteer | Puppeteerbuildpptr.dev Puppeteer는 Chrome 또는 Firefox를 제어할 수 있는 고급 API를 제공하는 JavaScript 라이브러리이다.웹페이지를 크롤링을하는 라이브러리는 다양하게 존재하지만, JavaScript 또는 TypeScript를 통해 크롤링을 하기 위해서 위 라이브러리를 사용하게 되었다. npm i puppeteer # Downloads compatible Chrome during installation.npm i puppeteer-core # Alternatively, install as a library, without downloading Chrome. 위 명령어를 통해 라이브러리를 설치한 뒤 진행하면 ..