자료구조 14

[프로그래머스] Sorting&Greedy 복습 및 실습문제(단속카메라) 풀이 - 파이썬

📖 문제 댕발자는 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다. 고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. [제한사항] - 차량의 대수는 1대 이상 10,000대 이하입니다. - routes에는 차량의 이동 경로가 포함되어 있으며 routes[i][0]에는 i번째 차량이 고속도로에 진입한 지점, routes[i][1]에는 i번째 차량이 고속도로에서 나간 지점이 적혀 있습니다. - 차량의 진입/진출 지점에 카메라가 설치되어 있어도 카메라를 만난것으로 간주합니다. ..

[프로그래머스] Two pointers 복습 및 실습문제(보석쇼핑) 풀이 - 파이썬

📖 문제 개발자 출신으로 세계 최고의 갑부가 된 댕발자는 스트레스를 받을 때면 이를 풀기 위해 오프라인 매장에 쇼핑을 하러 가곤 합니다. 댕발자는 쇼핑을 할 때면 매장 진열대의 특정 범위의 물건들을 모두 싹쓸이 구매하는 습관이 있습니다. 어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 댕발자는 이전처럼 진열대의 특정 범위의 보석을 모두 구매하되 특별히 아래 목적을 달성하고 싶었습니다. 예를 들어 아래 진열대는 4종류의 보석(RUBY, DIA, EMERALD, SAPPHIRE) 8개가 진열된 예시입니다. 진열대 번호 1 2 3 4 5 6 7 8 보석 이름 DIA RUBY RUBY DIA DIA EMERALD SAPPHIRE DIA 진열대의 3번부터 7번까지 5개의 보석을 구매하면 모든 종류의 보..

[프로그래머스] Array 자료구조 복습 및 실습문제(주차 요금 계산) 풀이 - 파이썬

📖 문제 📃 코드 import math # fees = [120, 0, 60, 591] # records = ["16:00 3961 IN","16:00 0202 IN","18:00 3961 OUT","18:00 0202 OUT","23:58 3961 IN"] # result = [0, 591] def solution(fees, records): answer = [] inTime = [0] * 10000 isIn = [0] * 10000 sumT = [0] * 10000 for record in records: a, b, c = record.split() H, M = a.split(":") if c == "IN": # record for initTime -> inTime[3961] = H*60 + M in..

백준[Python] 14425.문자열 집합 - 파이썬

📖 문제 📃 코드 import sys import collections input = sys.stdin.readline N, M = map(int, input().split()) strHash = collections.defaultdict(int) cnt = 0 for _ in range(N): s = input().strip() strHash[s] for _ in range(M): s = input().strip() if s in strHash: cnt += 1 print(cnt) 🔗 링크 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄..

백준[Python] 10815.숫자 카드 - 파이썬

📖 문제 📃 코드 import sys n = int(input()) card = list(map(int, sys.stdin.readline().split())) m = int(input()) check = list(map(int, sys.stdin.readline().split())) card.sort() def binarySearch(array, key, start, end): while start key: end = mid-1 elif array[mid] < key: start = mid+1 return None for i in range(m): if binarySearch(card, check[i], 0, n-1) is not None: print(1, end=' ') else: print(0, e..

[프로그래머스] Hash 자료구조 복습 및 실습문제(신고 결과 받기) 풀이 - 파이썬

📖 문제 📃 코드 import collections # id_list = ["muzi", "frodo", "apeach", "neo"] # report = ["muzi frodo", "apeach frodo", "frodo neo", "muzi neo", "apeach muzi"] # k = 2 def solution(id_list, report, k): answer = [] # remove repeated report report = list(set(report)) # prevent duplicated reported user name reportHash = collections.defaultdict(set) # counting how many reported user stopped = collecti..

JS array 입문!

출처. https://www.youtube.com/watch?v=yOdAVDuHUKQ 다른 언어를 아니깐 그냥 술술 들렸다. 그래도 항상 자만하지 말고 처음부터 끝까지 듣기로 했으니 화이팅! //Array! 'use strict'; // 1. Declaration const arr1 = new Array(); const arr2 = [1, 2]; // 2. Index position const fruits = ['apple', 'banana']; console.log(fruits); //["apple", "banana"] console.log(fruits.length); //2 console.log(fruits[0]); //apple console.log(fruits[1]); //banana consol..