전체 글
[백준] 3085 사탕 게임 - 파이썬
https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 문제 상근이는 어렸을 적에 "봄보니 (Bomboni)" 게임을 즐겨했다. 가장 처음에 N×N크기에 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고른다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다. 이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 또는 열)을 고른 다음 그 사탕을 모두 먹는다. 사탕이 채워진 상태가 주어졌을 때, 상근이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 보드의 크기 N이 ..
[백준] 1789 수들의 합 - 파이썬
문제 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 풀이 시간을 재고 빠르게 풀 수 있는지 점검하는 문제라길래 대충 시간을 재봤다. 10분정도 걸린 것 같다. S를 이룰 수 있는 서로 다른 자연수의 최대 개수를 구하는 문제이기 때문에 그리디로 풀었다. 작은 수를 쓸수록 N이 커질 것이기 때문이다. s = int(input()) num = 0 n = 0 while True: n += 1 if s - n >= n + 1: #이 조건을 통과하지 못하면 마지막 수 하나만을 더해서 S를 완성함 num += 1 s -= n if s - n == 0: print(num+1..
[HTTP] HTTP 헤더 - 캐시와 조건부 요청
캐시 기본 동작 같은 리소스를 두 번 요청하면 데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운받아야한다. 인터넷 네트워크는 느리고 비싸기 때문에 비효율적이다. 데이터는 프록시 서버와 브라우저 내에 캐시 될 수 있다. 정해둔 기한 내에 같은 리소스를 요청하면 캐시된 데이터를 사용하게 된다. 네트워크를 사용하지 않아도 되어 로딩속도가 빨라진다. 검증 헤더와 조건부 요청 캐시의 유효 시간을 초과하면 서버에 다시 요청을 해야 한다. 이 때 서버의 데이터가 변경되었을 수도, 그대로일 수도 있다. 캐시와 서버의 데이터가 같다는 사실을 확인한다면 (서버의 데이터가 변경되지 않았다면) 데이터를 다시 보낼 필요가 없다. 어떻게 확인할 수 있을까? 데이터가 마지막으로 수정된 일시를 저장하는 Last-Modif..
[프로그래머스] 2021 카카오 블라인드 - 광고 삽입 파이썬
문제 https://programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 풀이 https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/ 2021 카카오 신입공채 1차 온라인 코딩 테스트 for Tech developers 문제해설 지난 2020년 9월 12일 토요일 오후 2시부터 7시까지 5시간 동..
[백준] 2252 줄 세우기 - 위상 정렬 파이썬
문제 https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 풀이 https://freedeveloper.tistory.com/390 [이것이 코딩 테스트다 with Python] 36강 위상 정렬 4https://www.youtube.com/watch?v=xeSz3pROPS8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=36 위상 정렬 사이클이 없는 방향 그래프의 모든 ..
[HTTP] HTTP 일반 헤더
HTTP 헤더 개요 • General 헤더: 메시지 전체에 적용되는 정보, 예) Connection: close • Request 헤더: 요청 정보, 예) User-Agent: Mozilla/5.0 (Macintosh; ..) • Response 헤더: 응답 정보, 예) Server: Apache • Entity 헤더: 엔티티 바디 정보, 예) Content-Type: text/html, Content-Length: 3423 현재는 RFC2616 -> RFC7230-7235로 개정되며 Entity 대신 Representation (표현)이라는 용어로 바뀜 표현 = 표현 메타데이터 + 표현 데이터 rest API 의 rest가 Representation에서 온 것 ! 표현 • Content-Type: 표현..
[백준] 16916 부분 문자열 - KMP 파이썬
문제 https://www.acmicpc.net/problem/16916 16916번: 부분 문자열 첫째 줄에 문자열 S, 둘째 줄에 문자열 P가 주어진다. 두 문자열은 빈 문자열이 아니며, 길이는 100만을 넘지 않는다. 또, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 부분 문자열 시간제한 메모리 제한 제출 정답 맞힌사람 정답비율 1 초 512 MB 6354 1927 1410 36.191% 문제 문자열 S의 부분 문자열이란, 문자열의 연속된 일부를 의미한다. 예를 들어, "aek", "joo", "ekj"는 "baekjoon"의 부분 문자열이고, "bak", "p", "oone"는 부분 문자열이 아니다. 문자열 S와 P가 주어졌을 때, P가 S의 부분 문자열인지 아닌지 알아보자. 입..
[백준] 1197 최소 스패닝 트리 파이썬
문제 https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 문제 그래프가 주어졌을 때, 그 그래프의 최소 스패닝 트리를 구하는 프로그램을 작성하시오. 최소 스패닝 트리는, 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 그 가중치의 합이 최소인 트리를 말한다. 입력 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 ..