https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net # https://www.acmicpc.net/problem/11055 n = int(input()) array = list(map(int, input().split())) dp = [i for i in array] # 초기값을 원소값으로 초기화 한다 for i in range(n): for j in range(i): if array[i]..
분류 전체보기
내가 보려고 정리하는 정처기 문제 오답노트.. Window의 특징 - 선점형 멀티태스킹 : 동시에 여러개의 프로그램을 실행하는 멀티 태스킹을 하면서 운영체제가 각 작업의 CPU 이용시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 장제 종료시키고 모든 시스템 자원을 반환하는 방식 - OLE (Object- Linking and Embedding) : 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능 UNIX media1.txt 파일의 소유자를 user12로 변경하는 명령문 chown user12 media1.txt Window 명령 프롬프트에서 현재 디렉터리의 파일 목록을 한 화면 단위로 표시 ..
https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net dfs로도 풀수있다고 하는데, 문제보자마자 난 파이썬 permutation 모듈이 생각나서 그냥 그렇게 풀었는데 메모리초과도 안나고 시간초과도 안나서 통과했다 from itertools import permutations n, m = map(int, input().split()) array = [i for i in range(1, n+1)] # 1...n result = [] for i in l..
https://www.acmicpc.net/problem/5212 5212번: 지구 온난화 첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. www.acmicpc.net 문제 아이디어 1. 이중 for문을 순회하면서 땅을 찾으면 상하좌우를 확인하여 인접 세칸 이상이 바다인지 확인한다 단!!!! 여기서 지도의 의미는 섬을 포함한 최소 직사각형이므로, 지도 범위인 (r, c)를 초과하면 바다이다 for i in range(r): for j in range(c): if array[i][j] == 'X': # 땅이면 인접 세칸 이상이 바다인지 확인하기 count = 0 for k in range(4): nx = i + dx[k] ny = j + d..
array = [ [0 ,0 ,0 ,0, 0], [4 ,4 ,4 ,4, 4], [3 ,3 ,3 ,3, 3], [2 ,2 ,2 ,2, 2], [1 ,1 ,1 ,1 ,1]] n = 5 for i in range(n): print(array[i]) print() for i in range(-1, -n, -1): array[i] = array[i-1] array[0] = [0 for i in range(n)] for i in range(n): print(array[i]) for문 수행 이후 array의 값
https://www.acmicpc.net/problem/2668 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net 1. 유형 : DFS 2. 문제 아이디어 1 2 3 4 5 6 7 3 1 1 5 5 4 6 입력되는 노드를 시작점이라고 보고 인덱스들이 이어지는 노드라고 생각하여 그래프를 그리면 다음과 같다. 1: [2, 3] 2: [] 3: [1] 4: [6] 5: [4, 5] 6: [7] 7: [] 그래프를 dfs로 순회한다. 방문한 노드를 visited 리스트에 표시하여 이미 방문한 노드는 재방..
https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최단거리를 이용하는 다익스트라알고리즘의 응용 버전이다. 카카오 코딩테스트 해설을 참고 했다. - 간선의 정보들로 인접 graph를 만든다. 그리고 문제에서 그래프 자체는 양방향 그래프인데 내가 일방향으로 처리를 해서 계속 list 에 인덱스 없다고 에러가 떴다 그래프 문제에서 양방향인지 일방향인지 항상 주의하자 ! !!!!!! - 다익스트라 알고리즘을 출발지의 개수만큼 실행하면 시간초과가 나므로..
https://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 최단경로를 구하는 방법 중 하나인 다익스트라 알고리즘을 이용해서 풀었다 문제는 기본 다익스트라 알고리즘을 이용해서 풀었다. 시작 정점에서 각 정점까지의 최단거리를 구해서 distance 리스트에 저장하면 된다. # programmers import heapq v, e = map(int, input().split()) k = int(input()) # 시작 정점..