백준 / 2470번 / 두 용액 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/2470 나의 풀이n = int(input())sol = list(map(int, input().split()))sol.sort()start = 0end = n - 1min_solution = float('inf')while start 0: end -= 1 else: breakprint(result[0], result[1]) 투 포인터를 사용해 두 용액의 합이 0에 가까운 값을 찾을 수 있습니다. 두 용액의 합 s의 절댓값이 현재까지의 최솟값보다 작으면 결과를 갱신하며 최적의 답을 구할 수 있습니다.
백준 / 10844번 / 쉬운 계단 수 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/10844 나의 풀이n = int(input())dp = [[0] * 10 for _ in range(n + 1)]for i in range(1, 10): dp[1][i] = 1for i in range(2, n + 1): for j in range(10): if j == 0: dp[i][j] = dp[i - 1][1] elif 1 이 문제는 인접한 수의 차이가 1인 수를 계단수라고 하고, 길이가 N인 계단 수의 개수를 구하는 문제로, DP를 사용하여 풀 수 있습니다.dp[i][j]를 길이가 i, 마지막 숫자가 j인 계산 수의 개수로 정의하면, 계단 수 조건을 만족하기 위해..
백준 / 1012번 / 유기농 배추 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/1012 문제차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것이다.한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어 놓았다. 배추들이 모여있는 곳에..
백준 / 5347번 / LCM / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/5347 문제두 수 a와 b가 주어졌을 때, a와 b의 최소 공배수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 테스트 케이스의 개수 n이 주어진다. 다음 n개 줄에는 a와 b가 주어진다. a와 b사이에는 공백이 하나 이상 있다. 두 수는 백만보다 작거나 같은 자연수이다. 출력각 테스트 케이스에 대해서 입력으로 주어진 두 수의 최소공배수를 출력한다. 예제 입력 1 315 2133 229 10 예제 출력 1 1056690나의 풀이import sysimport mathinput = sys.stdin.readlinen = int(input())for _ in range(n): a, b = map(int, input().split())..
캐시(Cache) 설계 전략
·
OS
1. 캐시란 무엇인가?캐시는 자주 조회되지만 자주 변경되지 않는 데이터를 메모리(Redis, Memcached 등)에 저장해 응답 속도 향상과 DB 부하 분산을 도와주는 기술입니다. 캐시를 이용하게 되면 반드시 데이터 정합성 문제가 발생합니다. 데이터 정합성이란 어느 한 데이터가 캐시와 데이터베이스 이 두 곳에서 같은 데이터임에도 불구하고 데이터 정보값이 다른 현상을 말합니다. 따라서 적절한 캐시 읽기/쓰기 전략을 통해 이러한 문제를 해결해야 합니다. 2. 캐시 읽기 전략 (Read Strategy) - Look Aside 절차: 캐시 먼저 조회 → Cache Miss 시 DB에서 조회 (Cache Hit이 발생하면, 그 데이터 전달) → 조회 결과를 캐시에 저장특징가장 많이 사용되는 읽기 전략읽기가..
백준 / 9465번 / 스티커 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/9465 문제상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다.상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다.모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점수를 매기고, 점수의 합이 최대가 되게 스티커를 떼어내려고 한다. 먼저, 그림 (b)와 같이 각 스티커에 점수를 매겼다. 상냥이가 뗄 수 있는 스티커의 점수의 최댓값을 구하는 프로그램..
백준 / 1976번 / 여행가자 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/1976 문제동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인지 알아보자. 물론 중간에 다른 도시를 경유해서 여행을 할 수도 있다. 예를 들어 도시가 5개 있고, A-B, B-C, A-D, B-D, E-A의 길이 있고, 동혁이의 여행 계획이 E C B C D 라면 E-A-B-C-B-C-B-D라는 여행경로를 통해 목적을 달성할 수 있다.도시들의 개수와 도시들 간의 연결 여부가 주어져 있고, 동혁이의 여행 계획에 속한 도시들이 순서대로 주어졌을 때 가능한지 여부를 판별하는 프로그램을 작성하시오. 같..
Nginx로 HTTP에서 HTTPS로 리다이렉트 설정하는 방법 (DNS 설정, ATS, Let’s Encrypt)
·
Network
iOS 배포 과정에서 App Transport Security(ATS)라는 보안 정책에 의해 Apple이 iOS 9부터 iOS 앱에서 HTTPS 통신만 허용한다는 사실을 알게되었습니다. http로 통신하면 앱이 해당 요청을 차단하며, 에러를 발생시킵니다. ATS 정책이 없더라도, 요즘 서비스에서 HTTPS는 기본 보안 요구사항입니다. 따라서 Nginx 설정을 통해 HTTP 요청을 HTTPS로 강제 리다이렉트 해주어야 한다고 합니다. - 도메인 구매 및 EC2에 연결 먼저 도메인을 구매하고, 구매한 도메인의 DNS 설정해서 A 레코드를 추가하거나 수정합니다 타입 이름 값 (EC2 퍼블릭 IP) A@13.125.xxx.xxx - Nginx로 HTTP → HTTPS 리다이렉트 설정Nginx 설치..