분류 전체보기

    전구와 스위치[백준 2138] - python

    https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net 1년 전에 풀때 못풀었던 문제다. 이번에 풀게되었는데 이번에도 실패다. (고마워요 다른 블로거 포스팅들) 다음엔 꼭 성공하리... 다음에 실패하지 않기 위해 이번에는 생각을 정리해서 글을 남겨둘 거다. 다음에 풀 나에게 힌트가 되기를 바라며... 정답 코드 먼저!!! n = input() first = list(input()) target = list(input()) ..

    list Filter

    python에서 Filter javascript에서 filter를 즐겨 쓰다보니 python에서도 filter를 계속 찾게된다. 아직 익숙치 않아 매번 블로그 뒤지고 있어서 이 참에 한번 깔끔하게 정리해보자 실제 활용 예시 먼저!!! import re s = "one2three4five6" print(list(re.split('(\d)', s))) # ['one', '2', 'three', '4', 'five', '6', ''] print(list(filter(lambda x: x != '', list(re.split('(\d)', s))))) # ['one', '2', 'three', '4', 'five', '6'] 최근 정규 표현식 라이브러리를 사용하려 하고 있다. re.split을 하면 split ..

    가장 긴 증가하는 부분 수열[백준 11053]

    https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 스터디중 25분내에 풀지 못하고 곤혹에 빠졌던 문제이다. dp를 이용하여야 하는 문제이다. 정답 코드 먼저!!!! n = int(input()) l = list(map(int, input().split())) dp = [1] * (n + 1) for i in range(1, n) : for j in range(i) : ..

    랜선 자르기[백준 1654]

    https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 우선 문제를 보고 바로 이분 탐색의 접근 방법이 떠올랐다는 것은 스스로에게 칭찬해주고 싶다. 최근에 이분 탐색 풀이에 크게 감명받고 한번쯤 이분 탐색을 꼭 곁들여 보는것 같다(혹시 이 접근은 아닐까 하는식??) 각설하고 애를 먹었던 부분은 길이가 최대로 긴 부분까지 접근해야 하는데 이부분을 어떻게 할것이냐?? 정답 코드 먼저!! k, n = map(int, input(..

    스택 수열[백준 1874]

    https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net stack을 탈출하는 조건에서 고민했던 문제이다. 굳이 그럴필요는 없었지만..... 구현하기 나름인데 아직 문제를 꿰뚫는 황금 라인은 보이지 않는것 같다. 예전에 골프 만화를 읽었을때 어느정도 경지에 오르면 골프공이 홀에 빨려들어갈 황금 라인이 보인다더라. 알고리즘도 하다보면 그런 라인이 보이겠지???? 언제나 그렇..

    프린터 큐[백준 1966]

    https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 우선순위가 껴있어서 우선순위 큐를 사용해야지 했다가 우여곡절을 겪은 문제다. 당연히 우선순위큐를 이용해서 풀수도 있겠지만 작성하고 있던 코드는 계속 산으로 가서 방법을 수정했다. 처음보면 테스트 케이스에서 3번 예제가 이해 안될법 한데 문제 잘 읽으면 이해 될거에요 아래는 정답 코드다. tc = int(input()) for _ in range(tc) : n, m = list(map(int, inpu..

    숫자 문자열과 영단어[2021 KAKAO BLIND]

    https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 레벨 1짜리 문제다. 너무 어렵게 접근을 했었다. 다른 사람들의 답변을 보고 파이썬에 아직 익숙하지 않구나 하는걸 느꼈다. 내가 제출한 코드를 먼저 보자 def solution(s): answer = 0 hash_list = {"zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six"..

    마크다운 목차 사용하기

    평소에 마크다운을 즐겨 사용한다. 매번 다른 링크를 참조하는데 이번에 공부도 할겸 정리해보려 한다. 마크다운에서 목차를 사용해 보자!! [1. 목차1](#test) [2.목차2](#test2) [3.목차3](#test3) [4.목차4](#test4-test1) [5.목차5](#test5-test2) ## test1 ## test2 ## test3 ## test4 test1 ## test5 Test2 1.목차1 2.목차2 3.목차3 4.목차4 5.목차5 test1 test2 test3 test4 test1 test5 Test2 주의할 점 띄어쓰기는 '-'로 이어준다 아이디 지정해줄때 영어는 소문자만 써야한다(이거때문에 고생했다) 출처: https://png93.github.io/markdown-link/

    localStorage, sessionStorage

    localStorage, sessionStorage

    비회원 예약 과정 진행을 위해 localStorage를 써야하는 경우가 있었다. 그 기록을 남기려 한다. 예전에 비회원의 장바구니를 구현할 때 매 접속시마다 임시 유저를 생성해서 넘겨 줬었다. 이 유저가 로그인을 하면 임시 유저는 그냥 쓰레기 값이 된다. 나중에 디비를 정리할때 몇천의 임시 유저를 삭제했었던 경험이 있었다. (왜 이렇게 했을까???) localStorage와 sessionStorage, cookie의 옵션이 있었는데 localStorage를 썼다. 쿠키는 사용경험이 있었다. 팝업의 일주일간 닫기 기능을 사용했을때 일주일 유효기간을 담아서 넣어주었었다. 패키징 파일에서 버전에 대한 정보를 웹뷰쪽의 쿠키에 넣어주었었다. 그리고 웹뷰에서는 쿠키값에 따라 다른 뷰를 보여줬었다. 안 써본걸 사용해..

    ubuntu 크롬 드라이버 설치

    교육청 사이트 크롤링을 진행하던 중 사이트의 요청이 성공 하거나 실패하는 경우가 발생하였습니다. 코드는 같은데 말이죠 해당 사이트의 쿠키 값이 해당 사이트에 접속 시마다 변경되고 있는것을 확인했고 크롤링 요청에 쿠키 값을 추가해주니 문제가 발생하지 않았습니다. 그러나 쿠키 값을 요청 전에 동적으로 가져와야 하는 문제가 생겼습니다. selenium을 사용하여 가상의 브라우저를 띄운뒤 쿠키에 직접 접근하여 전역변수에 담긴 쿠키값을 이용해 크롤링 요청을 보내게 하였습니다. 그 과정에서 ubuntu 서버에 크롬 드라이버를 설치하면서 꽤나 고생을 하여 이 기록을 남깁니다. 아래 코드를 순서대로 전부 실행하거나 원하는 내용만 실행하면 됩니다. getChromeVersion CHROME_DRIVER_VERSION=`..