입국 심사 - 이진 탐색 (파이썬)
·
알고리즘/프로그래머스
사이트 링크 : https://programmers.co.kr/learn/courses/30/lessons/43238 문제는 아래와 같습니다. 문제 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로..
공유기 - 이진 탐색 (파이썬)
·
알고리즘/백준
사이트 링크 : https://www.acmicpc.net/problem/2110 문제는 아래와 같습니다. 문제 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다.도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다.C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오. 입력 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C..
30 - 파이썬 (정렬)
·
알고리즘/백준
사이트 링크 : https://www.acmicpc.net/problem/10610 문제는 아래와 같습니다. 문제 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다.미르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라. 입력 N을 입력받는다. N는 최대 105개의 숫자로 구성되어 있으며, 0으로 시작하지 않는다. 출력 미르코가 만들고 싶어하는 수가 존재한다면 그 수를 출력하라. 그 수가 존재하지 않는다면, -1을 출력하라. 예제 케이스는 해당 사이트에 있습니다 문제 해설 맨 처음에 30의 배수를 구하기 위해서 주어진 숫자의 경우의 수를 구하여 ..
숫자 카드2 - 파이썬 (정렬)
·
알고리즘/백준
사이트 링크 : https://www.acmicpc.net/problem/10816 문제는 아래와 같습니다. 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 ..
좋은 구간 - 파이썬 (정렬)
·
알고리즘/백준
정렬에 관한 문제를 풀다가 스스로 문제를 해결한 백준 문제가 있어 제가 어떻게 풀었는지 공유를 하려고 합니다. 사이트 링크 : https://www.acmicpc.net/problem/1059 문제는 아래와 같습니다. 정수 집합 S가 주어졌을때, 다음 조건을 만족하는 구간 [A, B]를 좋은 구간이라고 한다. A와 B는 양의 정수이고, A < B를 만족한다. A ≤ x ≤ B를 만족하는 모든 정수 x가 집합 S에 속하지 않는다. 집합 S와 n이 주어졌을 때, n을 포함하는 좋은 구간의 개수를 구해보자. 입력 첫째 줄에 집합 S의 크기 L이 주어진다. 둘째 줄에는 집합에 포함된 정수가 주어진다. 셋째 줄에는 n이 주어진다. 출력 첫째 줄에 n을 포함하는 좋은 구간의 개수를 출력한다. 제한 1 ≤ L ≤ 5..
ES6의 변수 할당과 스코프(Scope) 범위 정리
·
개발이야기/Javascript
ES6(ES2015) 에서는 var 이와에 const 와 let을 이용하여 변수를 선언을 할수 있게 되었습니다 대부분 모던 자바스크립트 코드를 보면 var 보다는 const,let 을 이용하여 변수 할당이 되어 있는것을 확인하실수있는데 3개의 변수 할당이 어떻게 다른 특징이 있는지 살펴보겠습니다. ES6 이전에는 변수를 할당하는 방법은 var를 이용하여 변수를 할당하는 방법이 있었습니다. 어휘적 유효범위 (lexical scope) 프로그레밍에서는 scope 는 해당 값의 범위라는 의미를 가집니다. var의 특징을 살펴 보겠습니다. 간단한 조건문을 이용하여 아래 코드가 실행을 유추해 봅시다. var dog = 'Ralf'; if (true) { var dog = 'Skip'; } console.log(d..
cafe-jun12
cafe-jun12