전체 글

문제 링크 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 소스 코드 n = int(input()) arr = list(map(int,input().split())) dp = [1] * n # dp 테이블 초기화 for i in range(1, n): # 2번째 원소부터 for j in range(0, i): # 그 이전 원소들과 비교하여 if arr[i] > arr..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스 코드 def solution(cards1, cards2, goal): for word in goal: # 카드 뭉치 둘 다 남은 경우 if cards1 and cards2: word1,word2 = cards1[0],cards2[0] if word == word1: cards1.pop(0) elif word == word2: cards2.pop(0) else: return 'No..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스 코드 def solution(t, p): answer = 0 width = len(p) # 비교 문자열 길이 huddle = int(p) # p의 정수값 for idx in range(len(t)-len(p)+1): if int(t[idx:idx+width])
문제 링크 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 소스 코드 from collections import deque c = int(input()) graph = [[] for _ in range(c+1)] n = int(input()) for i in range(n): # 양방향 간선 추가 a,b = map(int,input().split()) graph[a].append(b) graph[b].append(a) # 이 문제에서는 정렬 불필요해..
문제 링크 https://www.acmicpc.net/problem/1195 1195번: 킥다운 첫 줄에는 첫 번째 기어 파트를 나타내는 1과 2로 구성된 문자열이 주어진다. 두 번째 줄에는 마찬가지로 두 번째 기어 파트를 나타내는 1, 2로 구성된 문자열이 주어진다. 여기서 1은 홈을, 2는 www.acmicpc.net 소스 코드 a = input() b = input() answer = len(a) + len(b) # 최악의 경우 # 길이가 긴 것을 a, 짧은 것을 b로 설정 if len(a) < len(b): a,b = b,a gap = len(a) - len(b) # 길이가 짧은 것이 왼쪽에 길게 늘어지는 경우 # 000002112112112 # 221211200000000 for zero in ..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/142086?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스 코드 def solution(string): characters = set(list(string)) # 문자열을 구성하는 알파벳set # '알파벳 : -1'로 dict 생성 my_dict = {character:-1 for character in characters} answer = [] for idx in range(len(string)): # 처..
chanmuzi
chanmuzi