전체 글 573

[Python] 백준 풀기 11047 - 동전 0

파이썬 백준 11047번 실버4 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 보기 분류 그리디 알고리즘 문제 풀기 처음 접근은 어렵지 않았다. 하지만 한 번 더 생각해 보지 않았던 순간이 "시간초과" 를 한번 내뱉게 하였다. 일단, 문제에서 주어진 N 과 K 를 입력받고, 동전의 종류를 리스트에 하나하나 저장하여 초기 세팅을 한다. 처음에 생각한 방법은 K 를 만들 수 있..

공부하기/백준 2022.10.06

[Python] 백준 풀기 2231 - 분해합

파이썬 백준 2231번 브론즈2 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 문제 보기 분류 브루트 포스 문제 풀기 어떻게 접근할까 생각해 보았으나 역시나 브루트 포스 분류답게 작은 수 1 부터 시작하여 만족하는 해당 조건이 나올때까지 숫자를 대입한다. N = abc + a + b + c 를 만족하는 abc 가 나올때까지 숫자 abc 대입. N_check = M + sum(map(int, str(M))) int ..

공부하기/백준 2022.10.05

[Python] 백준 풀기 2559 - 수열

파이썬 백준 2559번 실버3 https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 문제 보기 for 문 안의 for 문으로 풀어볼까 deque 를 사용해서 풀어볼까 list 의 index 를 이용해 풀어볼까 문제 풀기 제출을 하면서 엄청난 시간초과를 뿌려댔던 문제였다. 답을 제출하면 "시간초과" 단어 하나로만 알려주지 말고 몇 초를 초과하였는지 알려줬으면 좋겠다. 물론, 문제에서 제시한 1초의 제한 시간이 지난 후에도 서버는 지속적으로..

공부하기/백준 2022.10.04

[HTML/CSS] 티스토리 상단에 움직이는 스크롤 게이지바 설치

티스토리 페이지를 스크롤하여 내릴 때 상단에 좌측에서 우측으로 채워지는 바를 설치하기. 세 개의 코드 덩어리만 티스토리 html 편집기를 통해 추가시켜주면 된다. 첫번째, 코드 추가. 바로 위에 해당 코드를 추가해 준다. 코드 두번째, 세번째, css 에 색상 및 모양을 지정해줄 코드 추가. css 편집 페이지에서 맨 아래 해당 코드를 추가해 주었다. height 로 두께를 설정하고, background 속성으로 배경 색상과 바의 색상을 지정해 주고 투명도 또한 지정하였다. 그리고 살짝 입체적 효과를 주기 위해 backdrop-filter 로 블러 효과도 추가하였다. 코드 /* [편집] 상단 스크롤 바 추가 */ .progress-container { position: fixed; /*상단 고정*/ to..

블로그 관리 2022.10.01

[Python] 백준 풀기 1904 - 01타일

파이썬 백준 1904번 실버3 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 문제 보기 처음에는 00 타일을 하나로 묶어 가짓수를 줄여 생각해야 했는데, 힌트를 찾다 보니 피보나치 수열을 갖는 문제였다. 문제의 형태를 피보나치 수열로 이해를 해야 하는데 이 부분 접근이 쉽지 않았다. 아래의 그림을 통해 이해한 부분을 정리 하였다. 문제 풀기 이해의 핵심 부분으로는 N 이 증가하면서 타일이 오른쪽으로 하나씩 늘어나는데, 이 맨 오른쪽 타일 (빨간색)..

공부하기/백준 2022.09.30

[VPN] NordVPN 속도 측정 한국, 일본, 미국

노드 VPN 1년 정도 써보다가 오랜만에 속도 측정을 해보았다. 귀찮으니 최초 한번 측정 결과. 우리 집 우리 집에서 측정한 속도. 서울, SK 100메가, 아수스 공유기 연결됨. download: 86.69 Mbps upload: 93.84 Mbps 한국 서버 서울 찍고 무작위 서버 선택. download: 83.52 Mbps upload: 86.96 Mbps 일본 서버 도쿄 찍고 무작위 서버 선택. download: 82.49 Mbps upload: 90.37 Mbps 미국 서버 샌 프란시스코 찍고 무작위 서버 선택. download: 85.71 Mbps upload: 88.43 Mbps 예전에 측정했을 때 미국이 이렇게 잘 나오지 않은 것 같은데 지금 보니 빠릿빠릿하다. 한국, 일본, 미국 다 잘 ..

카테고리 없음 2022.09.30

[CSS] 티스토리 게시물 이미지에 테두리 적용

이미지 테두리 페이지에서 이미지임을 강조하거나 은연중에 이는 다른 요소와 다름을 나타내고 싶을 때가 있다. 이것을 위해 티스토리 css 를 변경하여 해결할 수 있다. 일단 이미지가 있는 자신의 블로그 페이지를 띄우고 빈 여백에 마우스 우클릭을 하여 inspect (검사) 를 켠다. 그러면 오른쪽에 검사 창이 뜨는데 이제 관련 코드를 픽하여 변경 테스트를 해볼 것이다. 왼쪽 위의 네모 안 마우스 포인트 버튼을 클릭하면 왼쪽 창에서 해당 요소를 집어낼 수 있는데, 이미지를 클릭하여 해당 요소를 찾는다. 오른쪽 창의 Elements 를 통해 관련 html 코드가 선택 및 펼쳐진 것을 확인할 수 있고, 아래쪽 Styles 에서 css 에 해당하는 코드들이 나타난다. 제일 위에 해당하는 #tt-body-page ..

블로그 관리 2022.09.30

[CSS] highlight.js 및 라인 번호 적용시 불필요한 테이블 라인 제거

코드블럭 테이블 라인 제거 highlight.js 와 라인 번호를 적용하였는데 원치 않게 테이블 라인이 딱 생기게 되었다. 이것을 제거하여 깔끔하게 만들어 보자. 위 와같이 라인 번호, 코드가 엑셀 행렬 형태로 나뉘어 표시가 되었다. 이를 수정하기 위해서 티스토리 html 편집기 -> css 에서 ".article-view table" 를 찾아 .article-view table .article-view > table 와 같이 ">" 를 다섯군데 추가 시켜 article_view내에 있는 table에만 css적용 되도록 한다. .article-view > table { border: 1px solid #dadce0; border-collapse: collapse; } .article-view > tabl..

블로그 관리 2022.09.29

[Python] 백준 풀기 9184 - 신나는 함수 실행

파이썬 백준 9148번 실버3 https://www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net 문제 보기 재귀 함수를 사용하면 입력값이 같은 상황에서 반복되는 계산을 지속적으로 하기 때문에 속도가 많이 느려진다. 이를 해결하기 위해 동일한 입력값에 대한 계산의 결과는 미리 저장해 두고 필요할 때 불러와 속도를 현저히 상승시킨다. 문제 풀기 이전에 풀었던 24416번 (알고리즘 수업 - 피보나치 수 1) 문제를 통해 반복되는 계산 결과를 저장하여 동일한 계산을 이미..

공부하기/백준 2022.09.29

[Python] 백준 풀기 1620 - 나는야 포켓몬 마스터 이다솜

파이썬 백준 1620번 실버4 https://www.acmicpc.net/problem/1620 문제 보기 N 개의 단어를 입력한 후 이를 사전 삼아 M 번에 걸쳐 답안 요구 조건에 따라 문자인 이름 또는 순서인 숫자를 출력하는 문제이다. 문제 풀기 pokemon_encyclopedia = {} 를 set 으로 지정. 포켓몬의 이름을 하나하나 입력받되 pokemon_encyclopedia[i] = pkm pokemon_encyclopedia[pkm] = i 를 통해 딕셔너리를 작성 시 key, value 를 "순서: 이름" 과 "이름: 순서" 둘 모두 저장. 작성된 딕셔너리를 확인해 보고자 중간 프린트해봄. M 번의 for 문을 돌리면서 원하는 답안을 입력받아 그것이 숫자일 때는 포켓몬 이름 문자를 출력..

공부하기/백준 2022.09.28