스택/큐 - 프린터, 문제 확인 문제 설명은 아래와 같다. 대기목록의 가장 앞에 있는 문서의 중요도보다 높은 문서가 있다면, 해당 문서를 대기목록의 맨뒤로 보냄 없다면, 인쇄함 priorities : 대기목록에 있는 문서의 중요도가 담긴 배열 lcoation: 인쇄를 요청한 문서가 대기목록의 어떤 위치에 있는지 내가 요청한 문서가 몇 번째로 인쇄되는지 return 예를 보면, [2,1,3,2]의 경우 아래의 순서대로 인쇄가 진행되고 lcoation이 2인 경우, 3을 의미하므로 가장 첫번째로 뽑히는 것을 알 수 있다. 따라서 return 값은 1이다. 초기) priorities=[2,1,3,2] 1) priorities=[1,3,2,2] 2) priorities=[3,2,2,1] 3) priorities..
프로그래머스 해시 - 베스트앨범, 문제 확인 프로그래머스 해시 마지막 문제이다. 문제 설명은 아래와 같다. 장르별로 가장 많이 재생된 노래 두개를 뽑으려 함 노래는 고유번호로 구분되며 수록 기준은 아래와 같음 1) 속한 노래가 많이 재생된 장르 먼저 수록 2) 장르 내에서 많이 재생된 노래 먼저 수록 3) 장르 내에서 재생횟수가 같은 노래 중에서는 고유번호가 낮은 노래를 먼저 수록 genres : 노래의 장르를 나타내는 문자열 배열 (genres[i]가 노래 장르, i가 고유번호) plays: 노래별 재생 횟수를 나타내는 정수 배열 (plays[i]는 고유번호가 i인 노래가 재생된 횟수) 장르에 속한 곡이 하나라면, 하나의 곡만 선택함 뽑을 노래 두개의 고유번호를 순서대로 리턴하도록 solution 함수..
프로그래머스 해시 - 위장, 문제 확인 문제 설명은 아래와 같다. 스파이들은 매일 다른 옷을 조합해 자신을 위장함 clothes는 스파이가 가진 의상들이 담긴 2차원 배열, 각 행은 [의상이름, 종류]로 이루어져 있음 의상 수는 1개 이상, 30개 이하 같은 이름을 가진 의상은 없음 하루에 최소 한개의 의상은 입어야 함 서로 다른 옷의 조합 수를 리턴하도록 solution 함수를 작성 프로그래머스 해시 - 위장, 문제 풀이 (파이썬) [[yellow_hat, headgear], [blue_sunglasses, eyewear], [green_turban, headgear]] 최소 한개 이상은 입게 하면서 모든 옷 조합 수를 구하려면 (의상종류+1)을 모두 곱한 후 -1(반드시 하나는 선택)을 해주면 된다...
프로그래머스 해시 - 전화번호 목록, 문제 확인 문제 설명은 아래와 같다. 한 전화번호가 다른 번호의 접두어인 경우가 있는지 확인하려 함 구조대 전화번호가 119, 지영석의 전화번호가 11 9552 4421일 때, 구조대 전화번호는 지영석 전화번호의 접두사임 phone_book은 전화번호를 담은 배열 접두어인 경우가 있으면 flase, 아니면 true를 반환 프로그래머스 해시 - 전화번호 목록, 문제 풀이 (파이썬) 일단 같은 인덱스인 경우는 스킵하고 더 짧은 값을 찾아낸 후 각 값을 더 짧은 길이만큼으로 잘랐을 때, 포함되는 관계가 있는지 확인하는 방식을 사용했다. def solution(phone_book): for i,k in enumerate(phone_book): for i_,k_ in enum..
파이썬 한글 형태소 분석기인 KoNLPy 설치는 아래 기입된 순서대로, 본인 환경(파이썬 버전, 윈도우 비트)에만 맞게 진행해주면 에러가 발생하지 않는다. 참고로 나의 환경은 '파이썬3.8, 윈도우10 x64'이다. 자바 JDK 설치 제일 먼저 아래 오라클 다운로드 페이지에서 자바 JDK를 설치해주어야 한다. https://www.oracle.com/java/technologies/javase-downloads.html Java SE - Downloads | Oracle Technology Network | Oracle Java API Documentation Updater Tool 1.3 Java API Documentation Updater Tool repairs-in-place Java API Do..
개인적으로 하고싶은 것이 있어서 파이썬 Selenium(셀레니움) 모듈을 사용해서 크롤링을 하던 중, alert 창을 마주했다. 간단히 응답 코드를 받아와서 처리해주면 되겠지 했는데 응답이 '200 OK' 이다. 어떻게 해야하나 했는데, 역시 파이썬 역시 Selenium !!! alert 경고창에 관련한 API를 제공하고 있다. 여기에 간단히 정리한다. alert 경고창 객체 얻기 alert 객체는 switch_to_alert()를 써서 간단히 가져올 수 있다. alert 창이 있는지 그 유무를 체크하기 위해 try, excepy 문을 사용했다. from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager u..
파이썬으로 윈도우 레지스트리를 다뤄보는 이유는 보통 윈도우 배치파일(.bat) 을 생성할 때 필요하기 때문이다. 이번 포스팅에서는 파이썬 winreg 모듈을 사용해 '윈도우10 자동 업데이트 비활성화'를 가정하고 이를 위한 레지스트리 키를 생성하고 값을 등록해보려 한다. winreg 모듈 winreg는 윈도우 레지스터리에 관한 API를 제공하는 파이썬 모듈로 아래 링크에서 제공되는 API를 확인할 수 있다. Python 공식 홈페이지, winreg winreg — Windows registry access — Python 3.8.1 documentation winreg — Windows registry access These functions expose the Windows registry API to..