Algorithm 286

[LeetCode] Array > Contains Duplicate

leetcode.com/explore/interview/card/top-interview-questions-easy/92/array/578/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 풀이 파이썬의 set 자료형을 사용하여 중복 존재 유무 판단 class Solution: def containsDuplicate(self, nums: List[int..

[LeetCode] Array > Best Time to Buy and Sell Stock II

leetcode.com/explore/featured/card/top-interview-questions-easy/92/array/564/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 풀이 Greedy를 사용하여 문제를 해결하였다. 단순하게 오늘의 가격보다 내일의 가격이 높으면 매도하는 방식으로 가장 높은 이익을 구하였다. class Solution..

[LeetCode] Array > Remove Duplicates from Sorted Array

leetcode.com/explore/featured/card/top-interview-questions-easy/92/array/727/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 풀이 정렬된 배열에서 중복을 제거하는 것이 문제이다. 가장 간단한 방법은 set에 담아 중복을 제거하고 list로 변환 후 정렬을 하는 것이 가장 간단할 것이다. 하지..

[백준] 6588번 > 골드바흐의 추측

www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 문제 1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 2..

[백준] 15711번 > 환상의 짝꿍

www.acmicpc.net/problem/15711 15711번: 환상의 짝꿍 환상의 나라 디디랜드에서는 인연의 증표로 끈을 하나씩 가지고 있다. 그들은 지극히 평범한 방법으로 이 끈을 이용하여 어떤 두 사람이 환상의 짝꿍인지 판단하는데, 두 사람의 끈을 서로 이 www.acmicpc.net 문제 환상의 나라 디디랜드에서는 인연의 증표로 끈을 하나씩 가지고 있다. 그들은 지극히 평범한 방법으로 이 끈을 이용하여 어떤 두 사람이 환상의 짝꿍인지 판단하는데, 두 사람의 끈을 서로 이어붙이고 그 끈을 다시 길이가 소수인 끈 두개로 정확히 나눌 수 있다면 두 사람은 환상의 짝꿍이라고 한다. 하지만 그들은 길이가 소수인 두개의 끈으로 나눌 수 있는지 판단하는 것이 어려워서 대부분 서로가 인연임을 모르고 그냥 지..

[프로그래머스] 동적 계획법 > 정수 삼각형

https://programmers.co.kr/learn/courses/30/lessons/43105?language=python3 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution ..

개발형 코테

주로 클라이언트-서버간의 통신을 주고받는 형식으로 개발을 진행 클라이언트 서버 HTTP 개요 파이썬 웹 요청 예제 : GET 방식 import requests target = "http://google.com" response = requests.get(url=target) print(response.text) get방식으로 google에 접속하여 가져온 응답(response)를 text형식으로 출력하였다. 개발형 코딩 테스트의 핵심 키워드 : REST API, JSON REST의 등장 배경 REST 개요 REST API JSON JSON 객체 사용 예제 import json user = { "id": "minchul", "password": "1234", "age": 25, "hobby": ["codi..

Interval Sum

구간 합 구간 합 빠르게 계산하기 문제 해결 아이디어 동일한 반복된 계산을 수행하지 않고 DP처럼 메모이제이션 기법을 이용하는 것 * 소스 코드 # 데이터의 개수 N과 전체 데이터 선언 n = 5 data = [10, 20, 30, 40, 50] # 접두사 합(Prefix Sum) 배열 계산 sum_value = 0 prefix_sum = [0] for i in data: sum_value += i prefix_sum.append(sum_value) # 구간 합 계산 (세 번째 수부터 네 번째 수까지) left = 3 right = 4 print(prefix_sum[right] - prefix_sum[left - 1])

Two Pointers

투 포인터 특정한 합을 가지는 부분 연속 수열 찾기 문제 해결 아이디어 * 소스 코드 n = 5 # 데이터의 개수 N m = 5 # 찾고자 하는 부분합 M data = [1, 2, 3, 2, 5] # 전체 수열 count = 0 interval_sum = 0 end = 0 # start를 차례대로 증가시키며 반복 for start in range(n): # end를 가능한 만큼 이동시키기 while interval_sum < m and end < n: interval_sum += data[end] end += 1 # 부분합이 m일 때 카운트 증가 if interval_sum == m: count += 1 interval_sum -= data[start] print(count)

[백준] 1753번 > 최단 경로

www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다..

반응형